From b85612c133b252d6b68ab917403184f70aa5d6e1 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Thu, 13 Aug 2026 14:40:44 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E6=9B=B4=E6=96=B0=E6=80=A7=E8=83=BD?= =?UTF-8?q?=E5=9F=BA=E7=BA=BF=E5=B9=B6=E6=A0=A1=E5=87=86=20property/array?= =?UTF-8?q?=5Fjoin=20=E6=B5=8B=E8=AF=95=E8=A7=84=E6=A8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BENCHMARK_BASELINE.md | 70 ++- benchmark_baseline.json | 1134 +++++++++++++++++++++++++++++++++++- tests/stress/array_join.js | 2 +- tests/stress/property.js | 2 +- 4 files changed, 1174 insertions(+), 34 deletions(-) diff --git a/BENCHMARK_BASELINE.md b/BENCHMARK_BASELINE.md index 4fe890d..dec0f3f 100644 --- a/BENCHMARK_BASELINE.md +++ b/BENCHMARK_BASELINE.md @@ -1,7 +1,67 @@ Test Name Wall(ms) Comp(ms) Exec(ms) Instrs GC Ct IC Rate Sess Objs Sess B ------------------------------------------------------------------------------------------------------------------------ -array 0.19 0.000 0.193 291 0 0.0% 0 0 -call 0.06 0.000 0.058 157 0 0.0% 0 0 -coercion 0.03 0.000 0.027 163 0 0.0% 0 0 -gc 0.26 0.000 0.254 343 0 100.0% 0 0 -string 0.05 0.000 0.049 115 0 100.0% 0 0 +arith_ops 30.32 0.940 29.376 3000019 0 0.0% 0 0 +array_filter 480.22 0.001 480.219 41231 0 0.0% 2001 7160120 +array_for_each 459.20 0.000 459.197 25231 0 0.0% 1 6920120 +array_index_get 22.04 0.000 22.034 1012031 0 0.0% 1 120 +array_index_set 27.20 0.000 27.202 1012029 0 0.0% 1 120 +array_join 263.91 0.000 263.908 3040019 0 0.0% 20000 10780000 +array_literal 59.89 0.000 59.888 1150019 0 0.0% 50000 6000000 +array_map 464.27 0.000 464.269 41231 0 0.0% 2001 7160120 +array_push_pop 384.36 0.000 384.361 7450019 0 0.0% 50000 6000000 +array_reduce 488.76 0.000 488.757 43231 0 0.0% 1 6920120 +array_slice 243.56 0.000 243.554 58231 0 0.0% 3001 31098120 +array_sort 123.66 0.001 123.661 13931 0 0.0% 501 5199120 +branch_if 11.97 0.000 11.965 1866686 0 0.0% 0 0 +branch_switch 13.33 0.000 13.332 1875019 0 0.0% 0 0 +call_args 42.27 0.000 42.274 760023 0 0.0% 2 275 +call_closure 22.16 0.000 22.165 340035 0 0.0% 4 549 +call_method 30.82 0.000 30.819 420029 0 100.0% 3 395 +call_new_proto 103.45 0.000 103.451 660029 0 25.0% 100002 12000310 +call_recursion 509.53 0.001 509.533 5525823 0 25.0% 2 275 +call_this 50.32 0.000 50.320 620032 0 42.9% 5 680 +cmp_ops 36.64 0.000 36.643 3600019 0 42.9% 0 0 +code_forge 0.02 0.000 0.020 3600019 0 42.9% 0 329 +coercion_boolean 20.04 0.000 20.042 3050019 0 42.9% 0 0 +coercion_concat 42.90 0.000 42.902 1600019 0 42.9% 0 3888890 +coercion_nullish 83.71 0.000 83.713 3650026 0 66.7% 1 120 +coercion_tonumber 36.68 0.000 36.681 2100019 0 66.7% 0 0 +coercion_toprimitive 123.66 0.000 123.656 400019 0 66.7% 100000 13580000 +coercion_tostring 174.65 0.000 174.647 4200019 0 66.7% 0 34200000 +gc_array 156.27 0.000 156.272 3110019 0 66.7% 5000 600000 +gc_object 71.35 0.000 71.348 1300019 0 76.5% 50000 6000000 +gc_string 9.26 0.000 9.256 320019 0 76.5% 0 788890 +ic_cache 23.99 0.000 23.993 422035 0 74.7% 1 120 +ic_polymorphic 83.16 0.000 83.158 3433387 0 55.7% 100003 12000360 +loop_do_while 10.28 0.000 10.280 1400015 0 55.7% 0 0 +loop_for 54.63 0.000 54.631 8000019 0 55.7% 0 0 +loop_for_in 163.45 0.000 163.453 4561231 0 55.7% 1 3610 +loop_for_of 461.44 0.000 461.443 2734231 0 55.7% 1 108120 +loop_for_of_string 298.22 0.000 298.220 2266931 0 55.7% 0 5008150 +loop_index 328.96 0.000 328.962 3649231 0 55.7% 1 120 +loop_while 55.45 0.000 55.455 8000019 0 55.7% 0 0 +loop_while_index 324.16 0.000 324.162 3649231 0 55.7% 1 120 +map_ops 376.57 0.000 376.572 9850019 0 55.7% 0 0 +math_ops 115.48 0.000 115.484 4800019 0 55.7% 0 0 +object_keys 265.47 0.000 265.467 2680019 0 55.7% 10000 15000000 +prop_access 26.97 0.000 26.970 2200035 0 72.5% 1 120 +prop_bracket 31.11 0.000 31.110 1400032 0 72.5% 1 120 +prop_delete 31.31 0.000 31.307 320032 0 71.7% 1 120 +prop_dynamic 26.69 0.000 26.689 700023 0 71.7% 1 120 +prop_nested 117.12 0.000 117.123 1350019 0 75.1% 150000 18000000 +prop_set 47.75 0.000 47.748 2400029 0 75.1% 1 120 +property 160.01 0.000 160.011 72031 0 75.1% 1 231900 +set_ops 349.37 0.000 349.364 7150019 0 75.1% 0 0 +string_build 273.46 0.000 273.460 8440019 0 75.1% 0 73900000 +string_case 65.57 0.000 65.566 1200023 0 75.1% 0 7600000 +string_char 137.27 0.001 137.271 2800019 0 75.1% 0 3300000 +string_concat 43.36 0.000 43.355 1800019 0 75.1% 0 9000000 +string_indexof 25.96 0.000 25.957 700023 0 75.1% 0 0 +string_replace 19.68 0.000 19.679 460023 0 75.1% 0 1320000 +string_split 106.87 0.000 106.867 400023 0 75.1% 20000 19560000 +string_substring 35.29 0.000 35.287 1150023 0 75.1% 0 2150000 +string_trim 12.44 0.000 12.442 300023 0 75.1% 0 1560000 +try_catch_ok 3.20 0.000 3.199 550019 0 75.1% 0 0 +try_catch_throw 17.02 0.000 17.021 400019 0 75.4% 0 720000 +typeof_ops 64.85 0.000 64.847 2600019 0 75.4% 0 15200000 +unary_ops 17.35 0.000 17.347 2000019 0 75.4% 0 0 diff --git a/benchmark_baseline.json b/benchmark_baseline.json index 1c37c9d..9491a19 100644 --- a/benchmark_baseline.json +++ b/benchmark_baseline.json @@ -1,43 +1,223 @@ [ { - "test_name": "array", - "wall_time_us": 193, + "test_name": "arith_ops", + "wall_time_us": 30317, "session_objects": 0, "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3000019, + "compile_time_us": 940, + "exec_time_us": 29376, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_filter", + "wall_time_us": 480220, + "session_objects": 2001, + "session_bytes": 7160120, + "epoch_objects": 206001, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 41231, + "compile_time_us": 1, + "exec_time_us": 480219, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_for_each", + "wall_time_us": 459198, + "session_objects": 1, + "session_bytes": 6920120, + "epoch_objects": 204001, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 25231, + "compile_time_us": 0, + "exec_time_us": 459197, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_index_get", + "wall_time_us": 22035, + "session_objects": 1, + "session_bytes": 120, "epoch_objects": 1, "epoch_bytes": 0, "gc_trigger_count": 0, "gc_bytes_freed": 0, "gc_objects_scanned": 0, "gc_collection_us": 0, - "instruction_count": 291, + "instruction_count": 1012031, "compile_time_us": 0, - "exec_time_us": 193, + "exec_time_us": 22034, "ic_hit_rate": 0.0, "ic_hits": 0, "ic_misses": 0 }, { - "test_name": "call", - "wall_time_us": 59, - "session_objects": 0, - "session_bytes": 0, - "epoch_objects": 2, + "test_name": "array_index_set", + "wall_time_us": 27203, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 1, "epoch_bytes": 0, "gc_trigger_count": 0, "gc_bytes_freed": 0, "gc_objects_scanned": 0, "gc_collection_us": 0, - "instruction_count": 157, + "instruction_count": 1012029, "compile_time_us": 0, - "exec_time_us": 58, + "exec_time_us": 27202, "ic_hit_rate": 0.0, "ic_hits": 0, "ic_misses": 0 }, { - "test_name": "coercion", - "wall_time_us": 28, + "test_name": "array_join", + "wall_time_us": 263908, + "session_objects": 20000, + "session_bytes": 10780000, + "epoch_objects": 20000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3040019, + "compile_time_us": 0, + "exec_time_us": 263908, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_literal", + "wall_time_us": 59889, + "session_objects": 50000, + "session_bytes": 6000000, + "epoch_objects": 50000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1150019, + "compile_time_us": 0, + "exec_time_us": 59888, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_map", + "wall_time_us": 464270, + "session_objects": 2001, + "session_bytes": 7160120, + "epoch_objects": 206001, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 41231, + "compile_time_us": 0, + "exec_time_us": 464269, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_push_pop", + "wall_time_us": 384362, + "session_objects": 50000, + "session_bytes": 6000000, + "epoch_objects": 50000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 7450019, + "compile_time_us": 0, + "exec_time_us": 384361, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_reduce", + "wall_time_us": 488758, + "session_objects": 1, + "session_bytes": 6920120, + "epoch_objects": 204001, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 43231, + "compile_time_us": 0, + "exec_time_us": 488757, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_slice", + "wall_time_us": 243555, + "session_objects": 3001, + "session_bytes": 31098120, + "epoch_objects": 6001, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 58231, + "compile_time_us": 0, + "exec_time_us": 243554, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "array_sort", + "wall_time_us": 123662, + "session_objects": 501, + "session_bytes": 5199120, + "epoch_objects": 51501, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 13931, + "compile_time_us": 1, + "exec_time_us": 123661, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "branch_if", + "wall_time_us": 11966, "session_objects": 0, "session_bytes": 0, "epoch_objects": 0, @@ -46,16 +226,16 @@ "gc_bytes_freed": 0, "gc_objects_scanned": 0, "gc_collection_us": 0, - "instruction_count": 163, + "instruction_count": 1866686, "compile_time_us": 0, - "exec_time_us": 27, + "exec_time_us": 11965, "ic_hit_rate": 0.0, "ic_hits": 0, "ic_misses": 0 }, { - "test_name": "gc", - "wall_time_us": 255, + "test_name": "branch_switch", + "wall_time_us": 13333, "session_objects": 0, "session_bytes": 0, "epoch_objects": 0, @@ -64,16 +244,124 @@ "gc_bytes_freed": 0, "gc_objects_scanned": 0, "gc_collection_us": 0, - "instruction_count": 343, + "instruction_count": 1875019, "compile_time_us": 0, - "exec_time_us": 254, + "exec_time_us": 13332, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "call_args", + "wall_time_us": 42274, + "session_objects": 2, + "session_bytes": 275, + "epoch_objects": 20002, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 760023, + "compile_time_us": 0, + "exec_time_us": 42274, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "call_closure", + "wall_time_us": 22165, + "session_objects": 4, + "session_bytes": 549, + "epoch_objects": 20005, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 340035, + "compile_time_us": 0, + "exec_time_us": 22165, + "ic_hit_rate": 0.0, + "ic_hits": 0, + "ic_misses": 0 + }, + { + "test_name": "call_method", + "wall_time_us": 30820, + "session_objects": 3, + "session_bytes": 395, + "epoch_objects": 20002, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 420029, + "compile_time_us": 0, + "exec_time_us": 30819, "ic_hit_rate": 1.0, - "ic_hits": 135, + "ic_hits": 19999, "ic_misses": 0 }, { - "test_name": "string", - "wall_time_us": 50, + "test_name": "call_new_proto", + "wall_time_us": 103452, + "session_objects": 100002, + "session_bytes": 12000310, + "epoch_objects": 60004, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 660029, + "compile_time_us": 0, + "exec_time_us": 103451, + "ic_hit_rate": 0.24999062488281104, + "ic_hits": 19999, + "ic_misses": 60000 + }, + { + "test_name": "call_recursion", + "wall_time_us": 509534, + "session_objects": 2, + "session_bytes": 275, + "epoch_objects": 394602, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 5525823, + "compile_time_us": 1, + "exec_time_us": 509533, + "ic_hit_rate": 0.24999062488281104, + "ic_hits": 19999, + "ic_misses": 60000 + }, + { + "test_name": "call_this", + "wall_time_us": 50320, + "session_objects": 5, + "session_bytes": 680, + "epoch_objects": 40004, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 620032, + "compile_time_us": 0, + "exec_time_us": 50320, + "ic_hit_rate": 0.4285591834110731, + "ic_hits": 59997, + "ic_misses": 80000 + }, + { + "test_name": "cmp_ops", + "wall_time_us": 36644, "session_objects": 0, "session_bytes": 0, "epoch_objects": 0, @@ -82,11 +370,803 @@ "gc_bytes_freed": 0, "gc_objects_scanned": 0, "gc_collection_us": 0, - "instruction_count": 115, + "instruction_count": 3600019, "compile_time_us": 0, - "exec_time_us": 49, - "ic_hit_rate": 1.0, - "ic_hits": 216, - "ic_misses": 0 + "exec_time_us": 36643, + "ic_hit_rate": 0.4285591834110731, + "ic_hits": 59997, + "ic_misses": 80000 + }, + { + "test_name": "code_forge", + "wall_time_us": 20, + "session_objects": 0, + "session_bytes": 329, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3600019, + "compile_time_us": 0, + "exec_time_us": 20, + "ic_hit_rate": 0.4285591834110731, + "ic_hits": 59997, + "ic_misses": 80000 + }, + { + "test_name": "coercion_boolean", + "wall_time_us": 20043, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3050019, + "compile_time_us": 0, + "exec_time_us": 20042, + "ic_hit_rate": 0.4285591834110731, + "ic_hits": 59997, + "ic_misses": 80000 + }, + { + "test_name": "coercion_concat", + "wall_time_us": 42903, + "session_objects": 0, + "session_bytes": 3888890, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1600019, + "compile_time_us": 0, + "exec_time_us": 42902, + "ic_hit_rate": 0.4285591834110731, + "ic_hits": 59997, + "ic_misses": 80000 + }, + { + "test_name": "coercion_nullish", + "wall_time_us": 83713, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3650026, + "compile_time_us": 0, + "exec_time_us": 83713, + "ic_hit_rate": 0.666661111018517, + "ic_hits": 159996, + "ic_misses": 80000 + }, + { + "test_name": "coercion_tonumber", + "wall_time_us": 36682, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2100019, + "compile_time_us": 0, + "exec_time_us": 36681, + "ic_hit_rate": 0.666661111018517, + "ic_hits": 159996, + "ic_misses": 80000 + }, + { + "test_name": "coercion_toprimitive", + "wall_time_us": 123657, + "session_objects": 100000, + "session_bytes": 13580000, + "epoch_objects": 100000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 400019, + "compile_time_us": 0, + "exec_time_us": 123656, + "ic_hit_rate": 0.666661111018517, + "ic_hits": 159996, + "ic_misses": 80000 + }, + { + "test_name": "coercion_tostring", + "wall_time_us": 174647, + "session_objects": 0, + "session_bytes": 34200000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 4200019, + "compile_time_us": 0, + "exec_time_us": 174647, + "ic_hit_rate": 0.666661111018517, + "ic_hits": 159996, + "ic_misses": 80000 + }, + { + "test_name": "gc_array", + "wall_time_us": 156273, + "session_objects": 5000, + "session_bytes": 600000, + "epoch_objects": 5000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3110019, + "compile_time_us": 0, + "exec_time_us": 156272, + "ic_hit_rate": 0.666661111018517, + "ic_hits": 159996, + "ic_misses": 80000 + }, + { + "test_name": "gc_object", + "wall_time_us": 71349, + "session_objects": 50000, + "session_bytes": 6000000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1300019, + "compile_time_us": 0, + "exec_time_us": 71348, + "ic_hit_rate": 0.76470173003053, + "ic_hits": 259994, + "ic_misses": 80000 + }, + { + "test_name": "gc_string", + "wall_time_us": 9257, + "session_objects": 0, + "session_bytes": 788890, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 320019, + "compile_time_us": 0, + "exec_time_us": 9256, + "ic_hit_rate": 0.76470173003053, + "ic_hits": 259994, + "ic_misses": 80000 + }, + { + "test_name": "ic_cache", + "wall_time_us": 23994, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 1, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 422035, + "compile_time_us": 0, + "exec_time_us": 23993, + "ic_hit_rate": 0.7467093691163351, + "ic_hits": 265326, + "ic_misses": 90001 + }, + { + "test_name": "ic_polymorphic", + "wall_time_us": 83159, + "session_objects": 100003, + "session_bytes": 12000360, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3433387, + "compile_time_us": 0, + "exec_time_us": 83158, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_do_while", + "wall_time_us": 10280, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1400015, + "compile_time_us": 0, + "exec_time_us": 10280, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_for", + "wall_time_us": 54631, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 8000019, + "compile_time_us": 0, + "exec_time_us": 54631, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_for_in", + "wall_time_us": 163453, + "session_objects": 1, + "session_bytes": 3610, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 4561231, + "compile_time_us": 0, + "exec_time_us": 163453, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_for_of", + "wall_time_us": 461444, + "session_objects": 1, + "session_bytes": 108120, + "epoch_objects": 3001, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2734231, + "compile_time_us": 0, + "exec_time_us": 461443, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_for_of_string", + "wall_time_us": 298221, + "session_objects": 0, + "session_bytes": 5008150, + "epoch_objects": 1500, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2266931, + "compile_time_us": 0, + "exec_time_us": 298220, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_index", + "wall_time_us": 328962, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 1, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3649231, + "compile_time_us": 0, + "exec_time_us": 328962, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_while", + "wall_time_us": 55455, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 8000019, + "compile_time_us": 0, + "exec_time_us": 55455, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "loop_while_index", + "wall_time_us": 324162, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 1, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 3649231, + "compile_time_us": 0, + "exec_time_us": 324162, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "map_ops", + "wall_time_us": 376573, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 100000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 9850019, + "compile_time_us": 0, + "exec_time_us": 376572, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "math_ops", + "wall_time_us": 115485, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 4800019, + "compile_time_us": 0, + "exec_time_us": 115484, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "object_keys", + "wall_time_us": 265467, + "session_objects": 10000, + "session_bytes": 15000000, + "epoch_objects": 10000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2680019, + "compile_time_us": 0, + "exec_time_us": 265467, + "ic_hit_rate": 0.5574697822613749, + "ic_hits": 365325, + "ic_misses": 290002 + }, + { + "test_name": "prop_access", + "wall_time_us": 26971, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2200035, + "compile_time_us": 0, + "exec_time_us": 26970, + "ic_hit_rate": 0.7252007205376932, + "ic_hits": 765321, + "ic_misses": 290002 + }, + { + "test_name": "prop_bracket", + "wall_time_us": 31111, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1400032, + "compile_time_us": 0, + "exec_time_us": 31110, + "ic_hit_rate": 0.7252007205376932, + "ic_hits": 765321, + "ic_misses": 290002 + }, + { + "test_name": "prop_delete", + "wall_time_us": 31308, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 320032, + "compile_time_us": 0, + "exec_time_us": 31307, + "ic_hit_rate": 0.7169757231428537, + "ic_hits": 785320, + "ic_misses": 310003 + }, + { + "test_name": "prop_dynamic", + "wall_time_us": 26690, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 700023, + "compile_time_us": 0, + "exec_time_us": 26689, + "ic_hit_rate": 0.7169757231428537, + "ic_hits": 785320, + "ic_misses": 310003 + }, + { + "test_name": "prop_nested", + "wall_time_us": 117123, + "session_objects": 150000, + "session_bytes": 18000000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1350019, + "compile_time_us": 0, + "exec_time_us": 117123, + "ic_hit_rate": 0.7510655895673402, + "ic_hits": 935317, + "ic_misses": 310003 + }, + { + "test_name": "prop_set", + "wall_time_us": 47748, + "session_objects": 1, + "session_bytes": 120, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2400029, + "compile_time_us": 0, + "exec_time_us": 47748, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "property", + "wall_time_us": 160011, + "session_objects": 1, + "session_bytes": 231900, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 72031, + "compile_time_us": 0, + "exec_time_us": 160011, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "set_ops", + "wall_time_us": 349365, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 100000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 7150019, + "compile_time_us": 0, + "exec_time_us": 349364, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_build", + "wall_time_us": 273461, + "session_objects": 0, + "session_bytes": 73900000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 8440019, + "compile_time_us": 0, + "exec_time_us": 273460, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_case", + "wall_time_us": 65567, + "session_objects": 0, + "session_bytes": 7600000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1200023, + "compile_time_us": 0, + "exec_time_us": 65566, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_char", + "wall_time_us": 137272, + "session_objects": 0, + "session_bytes": 3300000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2800019, + "compile_time_us": 1, + "exec_time_us": 137271, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_concat", + "wall_time_us": 43356, + "session_objects": 0, + "session_bytes": 9000000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1800019, + "compile_time_us": 0, + "exec_time_us": 43355, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_indexof", + "wall_time_us": 25958, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 700023, + "compile_time_us": 0, + "exec_time_us": 25957, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_replace", + "wall_time_us": 19679, + "session_objects": 0, + "session_bytes": 1320000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 460023, + "compile_time_us": 0, + "exec_time_us": 19679, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_split", + "wall_time_us": 106868, + "session_objects": 20000, + "session_bytes": 19560000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 400023, + "compile_time_us": 0, + "exec_time_us": 106867, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_substring", + "wall_time_us": 35288, + "session_objects": 0, + "session_bytes": 2150000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 1150023, + "compile_time_us": 0, + "exec_time_us": 35287, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "string_trim", + "wall_time_us": 12443, + "session_objects": 0, + "session_bytes": 1560000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 300023, + "compile_time_us": 0, + "exec_time_us": 12442, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "try_catch_ok", + "wall_time_us": 3200, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 550019, + "compile_time_us": 0, + "exec_time_us": 3199, + "ic_hit_rate": 0.7508047066831984, + "ic_hits": 1235314, + "ic_misses": 410006 + }, + { + "test_name": "try_catch_throw", + "wall_time_us": 17021, + "session_objects": 0, + "session_bytes": 720000, + "epoch_objects": 20000, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 400019, + "compile_time_us": 0, + "exec_time_us": 17021, + "ic_hit_rate": 0.7537973205133671, + "ic_hits": 1255313, + "ic_misses": 410006 + }, + { + "test_name": "typeof_ops", + "wall_time_us": 64847, + "session_objects": 0, + "session_bytes": 15200000, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2600019, + "compile_time_us": 0, + "exec_time_us": 64847, + "ic_hit_rate": 0.7537973205133671, + "ic_hits": 1255313, + "ic_misses": 410006 + }, + { + "test_name": "unary_ops", + "wall_time_us": 17348, + "session_objects": 0, + "session_bytes": 0, + "epoch_objects": 0, + "epoch_bytes": 0, + "gc_trigger_count": 0, + "gc_bytes_freed": 0, + "gc_objects_scanned": 0, + "gc_collection_us": 0, + "instruction_count": 2000019, + "compile_time_us": 0, + "exec_time_us": 17347, + "ic_hit_rate": 0.7537973205133671, + "ic_hits": 1255313, + "ic_misses": 410006 } ] \ No newline at end of file diff --git a/tests/stress/array_join.js b/tests/stress/array_join.js index 5291d69..8800260 100644 --- a/tests/stress/array_join.js +++ b/tests/stress/array_join.js @@ -1,4 +1,4 @@ -var ITERATIONS = 50000; +var ITERATIONS = 20000; var sum = 0; for (var i = 0; i < ITERATIONS; i++) { diff --git a/tests/stress/property.js b/tests/stress/property.js index 8542d0d..6e739ed 100644 --- a/tests/stress/property.js +++ b/tests/stress/property.js @@ -1,4 +1,4 @@ -var ITERATIONS = 10000; +var ITERATIONS = 3000; var obj = {}; for (var i = 0; i < ITERATIONS; i++) {