设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2211|回复: 4
打印 上一主题 下一主题

[已经解决] 有没有什么可以测试一段代码运行效率的方法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1957
在线时间
410 小时
注册时间
2018-9-25
帖子
38
跳转到指定楼层
1
发表于 2020-6-1 22:20:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我在论坛搜索到一个,不过感觉不太行
  1. t = Time.now
  2. a = 0
  3. loop do
  4.    #测试的代码
  5.    a += 1
  6.    t2 = Time.now
  7.    break if t2 - t > 1/60
  8. end
  9. p a
复制代码
我不添加其他代码测试出来,每1/60秒(即一帧)平均在六七百的样子,可能是每次循环都运行了一次t2=Time.now的缘故,所以比较低,而且多次测试出来的结果跳动还挺大的,这样的话一些不怎么影响效率的代码就对比不出来了。
不知道有没有别的方法测试效率?

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2020-6-1 23:00:56 | 只看该作者
执行1000次看看花了多久?
  1. t = Time.now
  2. 1000.times do
  3.   # 测试代码
  4. end
  5. p Time.now - t
复制代码

点评

说明你的代码本身执行的时间就不稳定啊……  发表于 2020-6-2 20:27
就算这样感觉还是不大行,重复几次测试出来结果波动太大了,不稳定,不好比较  发表于 2020-6-2 09:43

评分

参与人数 1+1 收起 理由
Cupidk爱呗茶 + 1 我很赞同

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39597
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

3
发表于 2020-6-1 23:51:34 | 只看该作者
本帖最后由 KB.Driver 于 2020-6-1 23:55 编辑

在电脑上安装一个ruby解释器
安装完后打开运行(Win+R),输入irb

RUBY 代码复制
  1. require 'benchmark'
  2. Benchmark.bmbm do |x|
  3.   x.report { # 在这里写想要测试效率的代码 }
  4. end




一般只看第二次的结果就可以了
从图中可以看出,"x"*1000比1000.times{ s = (s || "") + "x" }快得多
用头画头像,用脚写脚本
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-30 13:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表