1

快速提问:c# asp.net 代码中的空行是否因为文件较大而对性能不利?或者这是通过编译处理的?有哪些压缩技术可用于这种情况?

4

4 回答 4

3

好吧,如果您谈论的是在您的代码后面或 C# 代码文件中有空格,那么它们不会被您的编译计算在内。

现代编译器(例如 .net 框架编译器)将在编译代码时删除空格和其他注释和标点符号。

这个过程也称为 标记化;这会在编译之前从您的代码中删除不需要的东西。删除意味着不从代码库文件中删除,但不考虑将它们编译。

当你有“;”时,在你的代码中 编译器将其视为编译的行尾,当下一个字符遇到它时,将其视为编译的新行。

于 2013-07-15T06:22:36.523 回答
1

编辑(感谢@Jigar):

编译代码的执行时间没有区别。

过多的空白/注释可能会使编译器花费更长的时间来标记化,但 C# 编译器并不关心在语法上不重要的空白。


在表现层:考虑的可能是传输和渲染,而不是服务器端的影响。

较小的页面将更快地传输和呈现。

有许多“缩小”策略,但任何性能提升肯定取决于许多其他因素,例如设备、连接、负载、页面大小等。

提供压缩资源(脚本、json 数据,甚至 HTML)并让客户端解包和呈现以减少传输开销是有些常见的。像这样


一个值得问的问题:还有其他领域可以以更少的工作提供更多的收益吗?

有许多页面速度工具可以从客户的角度分析性能并提出合理的建议。一些基于网络的:

http://yslow.org/

http://tools.pingdom.com/

于 2013-07-15T06:03:23.340 回答
0

空行实际上是1 个或两个字符(如果您没有在整个行中明确使用空格或制表符(:))),因此即使大小降低性能,它也不会使文件显着变大。

于 2013-07-15T05:49:36.057 回答
0

C# 编译器不会考虑空换行符。这些被 C# 编译器省略。这不会影响您的代码性能。

希望对你有帮助...

于 2013-07-15T06:27:44.197 回答