瞎扯淡 一行 Ruby 代码把 Mac 坑了

kewin · 2015年08月19日 · 最后由 santochancf 回复于 2015年08月31日 · 2702 次阅读

今天看了下http://ruby-doc.org/stdlib-2.2.2/libdoc/benchmark/rdoc/Benchmark.html#method-c-bm 试着执行了下里面的示例

require 'benchmark'
puts Benchmark.measure { "a"*1_000_000_000 }

输出

irb(main):056:0> puts Benchmark.measure { "a"*1_000_000_000 }
  0.340000   0.340000   0.680000 (  0.693746)

我脑残的改了下参数,多加了 3 个 0

require 'benchmark'
puts Benchmark.measure { "a"*1_000_000_000_000 }

结果吧 Mac Pro 坑了

他跑了好久都没出来结果最后还强制退出了 irb , 过程中一直 top 命令看了下 ruby 进程内存消耗一直在 1G 上下 结果内存的压缩值 CMPRS 快速的飙升至 56G

关注一下

必然「坑」😂,但不限于 Ruby 可以做到,可以换多几个语言试试…… 一个字符 1 Byte,1_000_000_000_000 个字符大约931GB

需要 登录 后方可回复, 如果你还没有账号请 注册新账号