From ad5c0a747aca87da80d8e0d3d4cde7a3781b0589 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Mon, 5 Oct 2026 09:06:31 +0000 Subject: [PATCH] =?UTF-8?q?bench:=20=E5=8E=8B=E6=B5=8B=20IC=20=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E6=94=B9=E5=B7=AE=E5=80=BC=E8=AF=BB=E4=B8=8E=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E8=AE=A1=E6=95=B0=E5=90=8C=E5=8F=A3=E5=BE=84=E5=B9=B6?= =?UTF-8?q?=E6=8E=A8=E8=BF=9B=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.toml | 2 +- crates/oxide_cli/src/bench/js_stress.rs | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index c6f8d450..1a1ed6ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ members = [ ] [workspace.package] -version = "0.8.3" +version = "0.8.4" edition = "2021" license = "MIT" rust-version = "1.80" diff --git a/crates/oxide_cli/src/bench/js_stress.rs b/crates/oxide_cli/src/bench/js_stress.rs index 3831a228..2a979413 100644 --- a/crates/oxide_cli/src/bench/js_stress.rs +++ b/crates/oxide_cli/src/bench/js_stress.rs @@ -93,6 +93,8 @@ pub fn run_js_stress_bench(config: &BenchConfig, kernel: &Arc, pool: let pre_session = vm.session_object_count(); let pre_epoch = vm.epoch_object_count(); + let pre_ic_hits = vm.ic_hit_count(); + let pre_ic_misses = vm.ic_miss_count(); let exec_start = Instant::now(); let _result = vm.run(&module); @@ -109,9 +111,13 @@ pub fn run_js_stress_bench(config: &BenchConfig, kernel: &Arc, pool: let session_bytes = vm.session_bytes_allocated(); let epoch_objects = vm.epoch_object_count().saturating_sub(pre_epoch); let instruction_count = vm.instruction_count(); - let ic_hit_rate = vm.ic_hit_rate(); - let ic_hits = vm.ic_hit_count(); - let ic_misses = vm.ic_miss_count(); + let ic_hits = vm.ic_hit_count().saturating_sub(pre_ic_hits); + let ic_misses = vm.ic_miss_count().saturating_sub(pre_ic_misses); + let ic_hit_rate = if ic_hits + ic_misses == 0 { + 0.0 + } else { + ic_hits as f64 / (ic_hits + ic_misses) as f64 + }; // 留存口径:强制完整 GC 清掉不可达垃圾后账目即留存堆。 vm.collect_session_gc();