Files
OxideJS-New/BENCHMARK_BASELINE.md
T

12 KiB

Test Name Wall(ms) Comp(ms) Exec(ms) Instrs GC Ct IC Rate Sess Objs Sess B Peak B Ret B

arith_ops 294.93 0.531 294.402 4700023 0 0.0% 0 0 0 0 array_filter 637.78 0.364 637.415 55739 1 99.9% 1586 364264 417620 2744 array_for_each 685.89 0.360 685.529 35737 1 99.9% 1536 354168 425828 960 array_index_get 126.55 0.290 126.259 1817037 0 99.9% 0 38000 38000 8160 array_index_set 100.06 0.269 99.792 1517035 0 99.9% 0 38000 38000 8160 array_join 512.76 0.276 512.485 4140029 0 100.0% 0 9380000 9380000 291 array_literal 85.99 0.280 85.714 1500025 0 100.0% 0 0 184 184 array_map 620.95 0.341 620.609 55739 1 99.9% 1586 367464 417620 4344 array_push_pop 1252.67 0.302 1252.364 10200029 0 100.0% 0 20900000 20900000 472 array_reduce 656.35 0.417 655.935 57739 1 99.9% 1536 354200 425828 1960 array_slice 76.24 0.355 75.885 79739 0 99.9% 0 10401800 10401800 4344 array_sort 127.61 0.335 127.275 17939 0 99.7% 1000 1888800 1888800 4344 branch_if 145.06 0.233 144.829 2816690 0 0.0% 0 0 0 0 branch_switch 139.19 0.289 138.900 3000023 0 0.0% 0 0 0 0 call_args 94.27 0.339 93.928 880029 0 0.0% 2 307 595 595 call_closure 66.82 0.291 66.527 500044 0 0.0% 4 613 1221 1221 call_method 74.83 0.256 74.577 580032 0 50.0% 2 307 771 771 call_new_proto 136.69 0.327 136.358 800037 0 33.3% 4 614 1390 1390 call_recursion 954.12 0.291 953.823 5527429 1 0.0% 3 1027 1027 595 call_this 124.06 0.305 123.759 780034 0 50.0% 4 624 1384 1384 cmp_ops 421.08 0.225 420.859 5800025 0 0.0% 0 0 0 0 code_forge 807.86 0.211 807.643 110018 0 0.0% 10000 1651670 1651670 0 coercion_boolean 253.94 0.216 253.728 4450023 0 0.0% 0 0 0 0 coercion_concat 194.34 0.257 194.081 2300025 0 0.0% 0 3888890 3888890 39 coercion_nullish 355.55 0.307 355.238 5100032 0 50.0% 0 0 168 168 coercion_tonumber 139.21 0.298 138.913 2600023 0 0.0% 0 0 0 0 coercion_toprimitive 195.44 0.319 195.117 500025 1 0.0% 18343 4075840 9604479 1591 coercion_tostring 376.23 0.276 375.949 4600025 0 0.0% 0 22200000 22200000 186 gc_array 572.17 0.250 571.923 4390027 0 100.0% 0 9500000 9500000 560 gc_object 124.04 0.213 123.824 1550025 0 100.0% 0 0 176 176 gc_string 38.88 0.204 38.677 460025 0 0.0% 0 788890 788890 40 gc_string_long 1996.65 0.192 1996.454 23000025 2 0.0% 0 7334531 33554441 41 ic_cache 53.15 0.449 52.700 554039 0 78.9% 0 380000 1802832 1802832 ic_polymorphic 230.60 0.335 230.268 4033387 0 100.0% 0 0 552 552 loop_do_while 237.16 0.198 236.960 3000019 0 0.0% 0 0 0 0 loop_for 1197.08 0.236 1196.844 16000023 0 0.0% 0 0 0 0 loop_for_in 620.76 0.626 620.132 7591739 0 0.0% 0 3490 3490 960 loop_for_of 309.16 0.454 308.707 3652739 0 99.0% 0 111800 111800 960 loop_for_of_string 214.58 0.308 214.275 2726339 0 0.0% 0 58150 58150 132 loop_index 417.57 0.322 417.246 6367739 0 100.0% 0 3800 3800 960 loop_while 1204.34 0.205 1204.135 16000023 0 0.0% 0 0 0 0 loop_while_index 414.35 0.627 413.725 6667739 0 100.0% 0 3800 3800 960 map_ops 759.16 0.431 758.733 12650027 0 100.0% 0 0 672 672 math_ops 454.87 0.377 454.496 6500023 0 0.0% 0 0 0 0 mem_array_grow 387.54 0.277 387.266 3800024 0 0.0% 0 0 8160 8160 mem_closure_chain 120.79 0.571 120.217 590034 0 0.0% 40000 6718890 10479658 10479658 mem_cross_call_retain 249.39 0.363 249.030 1590032 0 25.0% 2 3810453 8431077 8431077 mem_map_retain 58.08 0.244 57.840 600021 0 100.0% 0 1977780 6436740 6436740 mem_object_graph 117.63 0.324 117.303 884727 0 0.0% 2 312 6029720 6029720 mem_set_retain 42.24 0.206 42.029 460021 0 100.0% 0 1088890 4769098 4769098 mem_string_accum 107.52 0.217 107.305 960020 0 0.0% 0 2744473 3064633 3064633 mem_string_rope 2.22 0.170 2.046 16025 6 0.0% 0 124184000 124184000 124184000 member_compound 306.30 0.330 305.974 4400076 0 100.0% 0 0 1064 1064 object_keys 477.18 0.395 476.784 3740027 0 100.0% 0 13800000 13800000 320 prop_access 167.37 0.247 167.120 2800036 0 100.0% 0 0 192 192 prop_bracket 156.86 0.272 156.591 2100036 0 100.0% 0 0 184 184 prop_delete 55.27 0.273 54.999 480034 0 50.0% 0 0 184 184 prop_dynamic 76.65 0.273 76.377 1100028 0 100.0% 0 0 168 168 prop_nested 130.79 0.242 130.545 1550025 0 100.0% 0 0 504 504 prop_set 206.65 0.239 206.407 3200032 0 100.0% 0 0 176 176 property 151.16 0.344 150.820 111035 0 0.0% 0 231780 231780 24160 set_ops 662.65 0.281 662.368 9950027 0 90.9% 0 0 288 288 string_build 1688.03 0.352 1687.676 16560027 4 0.0% 0 6791197 33554520 122 string_case 179.79 0.243 179.546 1600028 0 0.0% 0 7600000 7600000 0 string_char 284.73 0.229 284.501 3800025 0 0.0% 0 0 0 0 string_concat 175.24 0.348 174.888 1800031 0 0.0% 0 1900000 1900000 38 string_indexof 83.84 0.200 83.636 1100028 0 0.0% 0 0 0 0 string_replace 51.86 0.305 51.555 600030 0 0.0% 0 1320000 1320000 66 string_replace_fn 768.39 0.381 768.010 64987 3 0.0% 294 1619217 33571047 12433 string_split 96.09 0.226 95.861 540030 0 100.0% 0 17160000 17160000 1226 string_substring 116.36 0.218 116.142 1500030 0 0.0% 0 2150000 2150000 43 string_trim 40.11 0.191 39.916 460028 0 0.0% 0 1560000 1560000 0 try_catch_ok 56.15 0.206 55.940 1050023 0 0.0% 0 0 0 0 try_catch_throw 50.20 0.267 49.929 580023 0 0.0% 0 720000 720000 0 typeof_ops 283.71 0.197 283.518 4300023 0 0.0% 0 0 0 0 unary_ops 269.29 0.298 268.988 3700023 0 0.0% 0 0 0 0

内存基准用例(mem_*):

mem_object_graph 大型对象图留存:15 层满二叉树 32767 节点整体驻留 session 堆 mem_string_accum 字符串累积留存:40000 个互不相同的字符串驻留数组(interner 压力) mem_closure_chain 闭包/upvalue 长链:10000 层闭包各自捕获前层闭包与 payload 驻留 mem_array_grow 数组增缩容量:扩到 200000 元素后截回 1000,观测元素向量容量是否回落(账目按 Vec capacity 计) mem_cross_call_retain 跨调用长存活数据:全局 store 经 30000 次调用累积 30000 条记录 mem_map_retain 原生盒边持有:Map 持 20000 组字符串键 + 对象值 mem_set_retain 原生盒边持有:Set 持 20000 个对象(各带 payload 字符串) mem_string_rope 拼接 rope 链留存:重复二元拼接形成深 Cons 链(账目按逻辑长度计,数值高于实际足迹) 口径:Peak B/Ret B 为 session 堆账目(对象头 + 堆数据 + 存活串/BigInt);epoch arena 的临时驻留不计入字节账目(数量见 JSON 的 epoch_objects)。Peak B 为顶层指令 边界采样的 session arena 高水位;单指令内瞬态与 epoch 高水位不计。Ret B 为 workload 后 晋升 + 完整 GC 的真存活集,至多含一份引擎内部副本:逃逸屏障留 epoch 原件且顶层 寄存器根不回写时,测量时晋升会把原件再克隆一份(object_graph 见留存锚测试)。