Eval (global) | 0.120000 | 0.120000 | 0.140000 | 0.140000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.140000 | 0.140000 | 0.190000 | 0.150000 | 0.150000 | 0.150000 | 0.120000 | 0.150000 | 0.130000 | 0.130000 | 0.140000 | 0.150000 | 0.160000 | 0.150000 | 0.150000 | 0.150000 | 0.160000 | 0.130000 | 0.150000 | 0.140000 | 0.130000 | 0.160000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.160000 | 0.150000 | 0.140000 | 0.140000 | 0.150000 | 0.130000 | 0.140000 | 0.140000 | 0.120000 | 0.140000 | 0.140000 | 0.130000 | 0.160000 | 0.130000 | 0.140000 | 0.140000 | 0.130000 | 0.130000 | 0.140000 | 0.130000 | 0.140000 | 0.130000 | 0.130000 | 0.130000 | 0.140000 | 0.130000 | 0.140000 | 0.140000 | 0.130000 | 0.140000 | 0.140000 | 0.130000 | 0.160000 | 0.120000 | 0.130000 | 0.130000 | 0.140000 | 0.130000 | 0.140000 | 0.130000 | 0.130000 | 0.130000 | 0.130000 | 0.130000 | 0.120000 | 0.120000 | 0.120000 | 0.120000 | 0.130000 | 0.120000 | 0.110000 | 0.140000 | 0.120000 | 0.130000 | 0.130000 | 0.130000 | 0.140000 | 0.130000 | 0.140000 | 0.130000 | 0.130000 | 0.130000 | 0.140000 | 0.130000 | 0.130000 | 0.130000 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ISeq (global) | 0.130000 | 0.140000 | 0.150000 | 0.160000 | 0.180000 | 0.170000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.140000 | 0.150000 | 0.140000 | 0.160000 | 0.140000 | 0.150000 | 0.170000 | 0.140000 | 0.150000 | 0.140000 | 0.130000 | 0.140000 | 0.150000 | 0.150000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.150000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.140000 | 0.150000 | 0.130000 | 0.160000 | 0.140000 | 0.160000 | 0.140000 | 0.140000 | 0.160000 | 0.150000 | 0.170000 | 0.150000 | 0.200000 | 0.160000 | 0.160000 | 0.150000 | 0.150000 | 0.160000 | 0.160000 | 0.150000 | 0.150000 | 0.170000 | 0.160000 | 0.180000 | 0.210000 | 0.150000 | 0.150000 | 0.150000 | 0.160000 | 0.140000 | 0.160000 | 0.140000 | 0.140000 | 0.160000 | 0.140000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.140000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.150000 | 0.160000 | 0.150000 | 0.150000 | 0.160000 | 0.160000 | 0.150000 | 0.150000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.150000 | 0.140000 | 0.140000 |
Last active
September 14, 2018 17:49
-
-
Save we4tech/41606076e707051b30bc5765f5c2685d to your computer and use it in GitHub Desktop.
Benchmark ruby eval VS RubyVM::InstructionSequence
Eval (global) | 0.120000 | 0.130000 | 0.130000 | 0.140000 | 0.120000 | 0.130000 | 0.140000 | 0.140000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.130000 | 0.130000 | 0.130000 | 0.140000 | 0.120000 | 0.130000 | 0.130000 | 0.120000 | 0.150000 | 0.130000 | 0.140000 | 0.130000 | 0.130000 | 0.130000 | 0.120000 | 0.130000 | 0.120000 | 0.120000 | 0.140000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.120000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.130000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.130000 | 0.140000 | 0.120000 | 0.130000 | 0.130000 | 0.130000 | 0.130000 | 0.120000 | 0.120000 | 0.130000 | 0.130000 | 0.120000 | 0.120000 | 0.130000 | 0.140000 | 0.120000 | 0.120000 | 0.120000 | 0.140000 | 0.140000 | 0.120000 | 0.140000 | 0.130000 | 0.140000 | 0.130000 | 0.120000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.120000 | 0.130000 | 0.130000 | 0.120000 | 0.120000 | 0.130000 | 0.120000 | 0.140000 | 0.140000 | 0.140000 | 0.120000 | 0.140000 | 0.130000 | 0.130000 | 0.120000 | 0.120000 | 0.130000 | 0.130000 | 0.140000 | 0.130000 | 0.150000 | 0.130000 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ISeq (global) | 0.140000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.160000 | 0.150000 | 0.160000 | 0.180000 | 0.170000 | 0.140000 | 0.150000 | 0.150000 | 0.140000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.160000 | 0.170000 | 0.160000 | 0.150000 | 0.150000 | 0.160000 | 0.140000 | 0.160000 | 0.140000 | 0.160000 | 0.160000 | 0.160000 | 0.150000 | 0.150000 | 0.150000 | 0.140000 | 0.160000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.140000 | 0.150000 | 0.140000 | 0.140000 | 0.160000 | 0.150000 | 0.150000 | 0.150000 | 0.160000 | 0.140000 | 0.160000 | 0.140000 | 0.150000 | 0.260000 | 0.230000 | 0.210000 | 0.170000 | 0.160000 | 0.180000 | 0.170000 | 0.190000 | 0.200000 | 0.180000 | 0.160000 | 0.160000 | 0.160000 | 0.170000 | 0.180000 | 0.190000 | 0.180000 | 0.160000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.140000 | 0.170000 | 0.150000 | 0.170000 | 0.150000 | 0.180000 | 0.160000 | 0.160000 | 0.160000 | 0.160000 | 0.180000 | 0.150000 | 0.150000 | 0.150000 | 0.150000 | 0.160000 | 0.170000 | 0.140000 | 0.180000 | 0.160000 | 0.170000 | 0.160000 | 0.160000 | 0.180000 | 0.180000 | 0.180000 |
Eval (global) | 0.123199 | 0.136328 | 0.138911 | 0.152132 | 0.137770 | 0.136108 | 0.136650 | 0.147492 | 0.140985 | 0.140123 | 0.142058 | 0.138433 | 0.130616 | 0.149290 | 0.141656 | 0.135584 | 0.133441 | 0.137739 | 0.139642 | 0.142087 | 0.148183 | 0.135413 | 0.135502 | 0.140989 | 0.142815 | 0.130184 | 0.133262 | 0.132429 | 0.137709 | 0.139227 | 0.143440 | 0.145498 | 0.136146 | 0.135671 | 0.141979 | 0.140633 | 0.144138 | 0.139957 | 0.143169 | 0.134906 | 0.134192 | 0.136202 | 0.149094 | 0.139996 | 0.129681 | 0.136368 | 0.138954 | 0.147229 | 0.142411 | 0.148370 | 0.135005 | 0.135797 | 0.142771 | 0.145811 | 0.141142 | 0.143354 | 0.137441 | 0.145634 | 0.146425 | 0.142067 | 0.148375 | 0.139985 | 0.125119 | 0.135804 | 0.146308 | 0.141508 | 0.129158 | 0.142898 | 0.148219 | 0.140463 | 0.138600 | 0.148154 | 0.138185 | 0.133716 | 0.131239 | 0.131672 | 0.134357 | 0.146252 | 0.134034 | 0.134645 | 0.139660 | 0.147349 | 0.133668 | 0.138892 | 0.138605 | 0.133984 | 0.134424 | 0.146996 | 0.128795 | 0.134719 | 0.133043 | 0.128372 | 0.134734 | 0.138772 | 0.135529 | 0.131140 | 0.132678 | 0.133065 | 0.145381 | 0.136496 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ISeq (global) | 0.135776 | 0.150968 | 0.160693 | 0.194417 | 0.157743 | 0.160879 | 0.159651 | 0.152677 | 0.165607 | 0.158491 | 0.155988 | 0.162330 | 0.160908 | 0.166778 | 0.159809 | 0.153668 | 0.166489 | 0.161708 | 0.169153 | 0.161432 | 0.148590 | 0.172891 | 0.158692 | 0.155643 | 0.163078 | 0.158686 | 0.163588 | 0.156376 | 0.169906 | 0.177643 | 0.153782 | 0.159975 | 0.153033 | 0.159610 | 0.165007 | 0.159521 | 0.166443 | 0.154044 | 0.163503 | 0.159088 | 0.150702 | 0.166332 | 0.152248 | 0.159166 | 0.159289 | 0.153829 | 0.162370 | 0.161019 | 0.154521 | 0.162046 | 0.155879 | 0.159516 | 0.148572 | 0.157651 | 0.164031 | 0.154413 | 0.163223 | 0.158594 | 0.153969 | 0.159258 | 0.154688 | 0.154105 | 0.150501 | 0.153943 | 0.166946 | 0.160971 | 0.160763 | 0.153475 | 0.154622 | 0.165126 | 0.154271 | 0.160910 | 0.160692 | 0.162093 | 0.160524 | 0.154216 | 0.158793 | 0.154880 | 0.164093 | 0.164440 | 0.160634 | 0.161183 | 0.149794 | 0.158565 | 0.168228 | 0.159153 | 0.169186 | 0.165863 | 0.152866 | 0.157097 | 0.163370 | 0.162278 | 0.158790 | 0.162478 | 0.160133 | 0.166898 | 0.151450 | 0.168987 | 0.166604 | 0.153540 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'benchmark' | |
data = 100.times.map do | |
Benchmark.bm do |x| | |
x.report('Eval') do | |
10_000.times { |i| eval("def method_#{i}; end") } | |
end | |
end | |
end.flatten.map(&:total).join("\t") | |
puts data |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'benchmark' | |
file = __FILE__ | |
line = __LINE__ | |
data = 100.times.map do | |
Benchmark.bm do |x| | |
x.report('RVM::ISeq') do | |
10_000.times do |i| | |
RubyVM::InstructionSequence.compile( | |
"def method_#{i}; end", file, file, line + 1, | |
trace_instruction: false | |
).eval | |
end | |
end | |
end | |
end.flatten.map(&:total).join("\t") | |
puts data |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment