评论由:mfikes making
`
加速摘要
Engine small, medium, with sub-object
V8: 1.42, 1.31, 1.19
SpiderMonkey: 1.14, 1.48, 1.41
JavaScriptCore: 1.48, 1.58, 1.62
Nashorn: 1.27, 1.36, 1.20
ChakraCore: 1.49, 1.77, 1.77
之前
使用V8进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,74毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,84毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,75毫秒
使用SpiderMonkey进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,95毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,92毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,134毫秒
使用JavaScriptCore进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,46毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,41毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,55毫秒
使用Nashorn进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,1228毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,1048毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,620毫秒
使用ChakraCore进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,55毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,76毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,129毫秒
之后
使用V8进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,52毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,64毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,63毫秒
使用SpiderMonkey进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,83毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,62毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,95毫秒
使用JavaScriptCore进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,31毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,26毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,34毫秒
使用Nashorn进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,970毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,769毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,518毫秒
使用ChakraCore进行基准测试
[obj (js-obj "a" 1 "b" 2)], (pr-str obj), 1000次运行,37毫秒
[obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6)], (pr-str obj), 1000次运行,43毫秒
[sub-obj (js-obj "g" 7 "h" 8 "i" 9 "j" 10) obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6 "s" sub-obj)], (pr-str obj), 1000次运行,73毫秒
`