mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-23 18:21:13 +08:00
1b87e212f9
bench 每轮采集在 workload 后 promote 根持有/会话引用的 epoch 对象并强制 一次 full GC,新增 peak_bytes / retained_bytes / retained_objects 三口径 (原 session_* 字段为执行期累计分配,不反映 workload 后留存);dispatch 循环增加 session 堆高水位采样,VM 暴露 session_bytes_peak 与 collect_session_gc。新增 8 个 mem_* 压力用例(对象图/字符串/闭包链/数组 增删/跨调用保留/Map/Set 保留/字符串拼接),基线扩至 76 条目。
13 lines
455 B
JavaScript
13 lines
455 B
JavaScript
// 跨调用长存活数据:全局 store 经 30000 次函数调用累积 30000 条记录,
|
|
// 记录在函数内构造、写出 global 后跨帧存活(session 堆)
|
|
var store = { records: [], total: 0 };
|
|
function logRecord(tag, value) {
|
|
var r = { seq: store.total, tag: tag, value: value };
|
|
store.records.push(r);
|
|
store.total++;
|
|
}
|
|
for (var i = 0; i < 30000; i++) {
|
|
logRecord("tag_" + (i % 16), "record_payload_" + i);
|
|
}
|
|
store.records.length
|