Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java—性能问题;变量名和文件名长度_Java_Performance_File_Variables - Fatal编程技术网

Java—性能问题;变量名和文件名长度

Java—性能问题;变量名和文件名长度,java,performance,file,variables,Java,Performance,File,Variables,只是一些关于性能的问题,但我认为有些问题是合乎逻辑的: -如果我使用具有短名称的变量,处理起来会更好/更快吗? 示例:“字符串s”将比“字符串超短语”更好。 -关于文件名,如果文件名很短,访问它会更快吗? 示例:(几乎相同)filename.txt或f.txt 感谢所有的人,我真的很想让我的软件尽可能的好:) 如果我使用具有短名称的变量,处理起来会更好/更快吗 否。变量名甚至可能不在生成的字节码中。一天结束时,变量映射到寄存器/堆栈操作数。变量名是不相关的。这只是为了人类。他们倾向于使用supe

只是一些关于性能的问题,但我认为有些问题是合乎逻辑的: -如果我使用具有短名称的变量,处理起来会更好/更快吗? 示例:“字符串s”将比“字符串超短语”更好。 -关于文件名,如果文件名很短,访问它会更快吗? 示例:(几乎相同)filename.txt或f.txt

感谢所有的人,我真的很想让我的软件尽可能的好:)

如果我使用具有短名称的变量,处理起来会更好/更快吗

否。变量名甚至可能不在生成的字节码中。一天结束时,变量映射到寄存器/堆栈操作数。变量名是不相关的。这只是为了人类。他们倾向于使用
superprase
而不是
s

如果文件名较短,则访问该文件的速度会更快


否。文件与变量一样,使用特殊标识符(例如索引节点)进行引用。仅在打开/定位文件时才需要文件名。与实际的文件访问相比,它要快几个数量级。这同样适用于Java应用程序和其他操作系统进程。

除了Tomasz的出色回答外,您还显示了早期优化的所有迹象。有几个问题:

1) 在遇到问题之前,您不知道要优化什么:减少CPU使用是一种不同于减少内存或磁盘使用的优化

2) 优化需要时间,这是你的个人时间(有价值)或你的公司时间(有更容易平衡的价值)。不必要的优化是浪费金钱


3) 如果要优化的重要事情是“程序员花时间来计算软件的功能”,那么减少可变长度(即使它确实起到了作用)就无关紧要了。可读代码很重要——好的变量名是其中的一个重要部分。

你应该考虑制定一个高效的代码而不是这个。好吧,这没什么区别。不过,编译器可能会多用几纳秒,当然,这是一个新手必须不惜一切代价避免的可怕的性能影响。@Ingo编译器不会一直运行s/w。所以我认为这没关系。@Arpit是你的讽刺检测器出故障了吗?当然它不会运行它,但它必须编译它,然后,正如我所说的,更长的变量名和字符串常量将需要更多的CPU来处理,所有其他事情都是一样的。让编译器花点时间,但一旦s/w发布,就不会再编译了。谢谢你的快速回答,从现在起,我将使用舒适的变量,而不是短变量,不管怎样,如果我编译一个200个字母长的项目,然后编译同一个1个字母长的项目,如果它应该是相同的,那么200个字母长的项目会占用更多的空间?只是好奇,再次感谢:)首先,谢谢你的提示,我为自己的公司工作,我是一个非常整洁的人,喜欢一个好的工作,所以不要在意花多一点时间来制作一个好的软件,如果你去医院时手臂上有伤口,你不会想要一个简单的创可贴,你想要伤害点。@GotyMetal,但你甚至不知道自己在优化什么。记忆?CPU时间?总是有权衡的。“好工作”是可读的、可理解的代码。