0

我经常在每次迭代中运行几行 Ruby 脚本,puts以查看我的程序在运行时正在做什么。其中许多脚本非常耗时,需要几分钟才能完成。

我想知道向命令行输出('打印')是否会减慢这些脚本的完成速度,如果是,会减慢多少。

puts如果它只有 5% 的减速,我并不是很在意,但在我如此自由地使用我的之前,还有什么值得了解的。

4

2 回答 2

3

有很多变量会改变你的答案。Ruby 版本、你的编译器、你的 STDLib、你的 CPU,甚至像语言环境设置这样深奥的东西都会对puts.

唯一的答案是做一些基准测试。如果你在 Unix 系统上,你可以从简单的开始

time ruby program.rb

然后注释掉puts并再次运行它,比较答案。

如果您有特定的代码块需要进行基准测试,您也可以使用Ruby 附带的Benchmark模块。

于 2013-09-09T03:43:53.137 回答
1

根据我的经验,在文本编辑器上连续打印到打开的终端或 shell 模式会显着减慢代码执行速度,尤其是在将代码突出显示应用于输出时。处理此问题的一个好方法是输出到日志文件,并在需要时读取该文件。

于 2013-09-09T03:55:04.487 回答