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
Ruby:使用';看跌期权';_Ruby_Performance - Fatal编程技术网

Ruby:使用';看跌期权';

Ruby:使用';看跌期权';,ruby,performance,Ruby,Performance,在我们的RubyWebScraper中,当使用“puts”命令进行故障排除时,与没有向控制台输出任何内容相比,该方法需要花费几分钟的时间才能完成。尽管只输出了几百个(不到一千个)字符串,但仍然如此。我理解,如果一个方法要完成的任务数量较大,那么它需要更长的时间才能完成,但如果长度实际上翻了一番,那就有点荒谬了。特别是当您考虑到很多时间(无论是使用puts还是不使用puts)只是等待在获取请求后不被锁定时 “puts”命令在循环中使用,但输出的数量只有数百个 应该是这样吗?如果是这样,为什么?打印

在我们的RubyWebScraper中,当使用“puts”命令进行故障排除时,与没有向控制台输出任何内容相比,该方法需要花费几分钟的时间才能完成。尽管只输出了几百个(不到一千个)字符串,但仍然如此。我理解,如果一个方法要完成的任务数量较大,那么它需要更长的时间才能完成,但如果长度实际上翻了一番,那就有点荒谬了。特别是当您考虑到很多时间(无论是使用puts还是不使用puts)只是等待在获取请求后不被锁定时

“puts”命令在循环中使用,但输出的数量只有数百个


应该是这样吗?如果是这样,为什么?

打印字符串的速度应该很快。也许你正在打印的对象不是字符串,而是它们的
to_s
方法花了这么长时间?@Stefan实际上不是
inspect
吗?@JQuist你能展示一些代码吗?最好是一个@MarekLipka
p
调用
inspect
,而
调用
“完成的速度如何随对象的不同而变化?”简单的对象(如数字)可以相对直接地投射。然后是稍微复杂一些的数组和散列,然后是像Nokogiri XML文档这样的复杂对象,
to_s
必须将整个文档树转换为XML字符串。