Ruby 使用空格代替制表符进行缩进的性能影响

Ruby 使用空格代替制表符进行缩进的性能影响,ruby,coding-style,Ruby,Coding Style,我目前使用软制表符(即空格)缩进Ruby代码,如果使用硬制表符,在解释代码时会提高性能吗?我假设读取一个制表符比解析4个空格字符要快(尽管可以忽略不计)。性能影响是ε,也就是说,一个非常小的大于零的数字。空格只被读取和解析一次,然后Ruby代码被转换成中间形式。您知道从源代码解释所涉及的所有阶段吗?只有第一个,词法分析,必须处理空白,在空白的情况下,“处理”意味着“忽略它”。这一阶段只占用总时间的一小部分,通常使用正则表达式完成,并且几乎具有线性复杂性。用解析来对比,比较起来可能需要很多时间。而

我目前使用软制表符(即空格)缩进Ruby代码,如果使用硬制表符,在解释代码时会提高性能吗?我假设读取一个制表符比解析4个空格字符要快(尽管可以忽略不计)。

性能影响是ε,也就是说,一个非常小的大于零的数字。空格只被读取和解析一次,然后Ruby代码被转换成中间形式。

您知道从源代码解释所涉及的所有阶段吗?只有第一个,词法分析,必须处理空白,在空白的情况下,“处理”意味着“忽略它”。这一阶段只占用总时间的一小部分,通常使用正则表达式完成,并且几乎具有线性复杂性。用解析来对比,比较起来可能需要很多时间。而解释在某种程度上是可行的,因为这两个阶段(加上第三阶段,在使用字节码的实现中,字节码生成)所需的时间远远少于非平凡程序的实际执行时间


别担心这个。任何人都不会注意到这一点。真的如果您可以使用
时间
和一个几乎没有实际工作的小程序来测量差异,我会感到惊讶。

非常确定,解析器在读取一个字节的标签缩进和读取四个字节的空格之间可能产生的微不足道的影响将被下一个必须读取您的代码并修复您的代码的人所抵消标签/间隔混乱


请使用空格。签名,下一个读你代码的人。

胡说八道。词法分析阶段是语法分析的一部分。空间被屏蔽;扫描结果;结果就是parsed.EJP,你真的想查找其中的一些单词。他们的意思和你想的不一样。