快速问题:c#asp.net代码中的空行是否因为文件较大而导致性能下降? 或者是通过编译来处理?有哪些压缩技术适用于这种情况?
答案 0 :(得分:2)
好吧,如果你在谈论在你的代码后面或C#代码文件中有空格,那么你的编译就不会计算它们。
现代编译器,例如.net框架编译器将在编译代码时删除空格和其他注释以及标点符号。
此过程也称为tokenization;这会在编译之前从代码中删除不需要的东西。删除意味着不从代码库文件中删除,但不考虑它们进行编译。
当你有“;”时你的代码就是这样编译器将其视为编译的行尾,当下一个字符符合它时,将其视为编译的新行。
答案 1 :(得分:1)
编辑(感谢@Jigar):
编译代码的执行时间没有区别。
过多的空格/注释可能使编译器花费更长的时间进行标记化,但C#编译器并不关心语法上没有重要意义的空格。
在表示层上:考虑的可能是传输和渲染,而不是服务器端的影响。
较小的页面将传输和渲染更快。
有许多“缩小”的策略,但任何性能提升肯定取决于许多其他因素,如设备,连接,负载,页面大小等。
提供压缩资源(脚本,json数据,甚至是HTML)并让客户端解压缩和渲染会减少传输开销,这种情况有点普遍。 Like this
值得一提的问题是:还有其他方面可以为更少的工作提供更多的收益吗?
有许多页面速度工具可以从客户的角度分析性能并提出合理的建议。一些基于网络的:
答案 2 :(得分:0)
空白行实际上是1 or two characters(如果你没有明确地在整个行中使用空格或制表符(:))),那么即使大小性能下降也不会使文件显着增大。
答案 3 :(得分:0)
C#编译器不会考虑空换行符。 C#编译器省略了这些内容。这不会影响您的代码性能。
希望这会对你有帮助......