加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby相当于Ipython%timeit

发布时间:2020-12-17 02:24:15 所属栏目:百科 来源:网络整理
导读:TL;博士;我如何计算 Ruby中有多长时间? Ipython的%timeit和%% timeit是我最常用的两个IPython Magic命令(Python Interactive shell). 通常%timeit与这样的函数没有什么不同: def timeit(f,*args,**kwargs): num_trials = estimate_number_of_trials_for_
TL;博士;我如何计算 Ruby中有多长时间?

Ipython的%timeit和%% timeit是我最常用的两个IPython Magic命令(Python Interactive shell).
通常%timeit与这样的函数没有什么不同:

def timeit(f,*args,**kwargs): 
  num_trials = estimate_number_of_trials_for_f(f,args,kwargs) 
  start = time.time() 
  for i in range(num_trials): 
    f(args,kwargs) 
  return time.time() - start

优点是交互式地可以做这样的事情(不是我知道的一个很好的例子用例):

In [119]: %%timeit
   .....: data = json.loads(json_data)
   .....: ret =  process_data(data) 
   .....: json.dumps(ret)

我想知道是否有一个与它们相当的ruby(irb或pry),或者一般地实现等效的惯用方法(只接受单一方法的时间不完全相同,最好得到相同的对于任何任意代码块的%timeit magic,如后面的例子所示).

解决方法

基准 –
http://ruby-doc.org/stdlib-2.2.2/libdoc/benchmark/rdoc/Benchmark.html#method-c-benchmark
可以帮助你.

例:

require "benchmark"

how_long = Benchmark.measure do
  (1..100).each { |i| i }
end
puts how_long

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读