使用空格而不是Tabs进行缩进的性能影响

我目前使用软选项卡(即空格)来缩进我的Ruby代码,如果我使用硬选项卡会在解释代码时提高性能吗? 我认为读取一个制表符比解析4个空格字符更快(但可以忽略不计)。

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

别担心这个。 没有人会注意到任何差异。 老实说,如果你能用time和一个接近没有实际工作的小程序测量差异,我会感到惊讶。

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

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

性能影响是ε,即大于零的非常小的数字。 这些空间只能读取和解析一次,然后将Ruby代码转换为中间forms。