From 3eb2a6cdb7382f119d54a478dd89c2c1808b3b09 Mon Sep 17 00:00:00 2001 From: Michael Anthony Knyszek Date: Tue, 16 Feb 2021 22:46:52 +0000 Subject: [PATCH] add scenarios for the heap target, and add live bytes to the plots --- .../heavy-step-alloc-high-heap-target.json | 409 ++++++++++++++++++ data/scenarios/high-GOGC.json | 200 ++++----- data/scenarios/high-heap-target.json | 200 ++++----- data/scenarios/jitter-alloc.json | 200 ++++----- data/scenarios/low-heap-target.json | 409 ++++++++++++++++++ data/scenarios/step-heap-target.json | 409 ++++++++++++++++++ scenario/generators.go | 48 ++ tools/gen-plots.py | 3 +- 8 files changed, 1577 insertions(+), 301 deletions(-) create mode 100644 data/scenarios/heavy-step-alloc-high-heap-target.json create mode 100644 data/scenarios/low-heap-target.json create mode 100644 data/scenarios/step-heap-target.json diff --git a/data/scenarios/heavy-step-alloc-high-heap-target.json b/data/scenarios/heavy-step-alloc-high-heap-target.json new file mode 100644 index 0000000..e023193 --- /dev/null +++ b/data/scenarios/heavy-step-alloc-high-heap-target.json @@ -0,0 +1,409 @@ +{ + "cycles": [ + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.9986982494778291, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.8775019005660105, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.7510029384101544, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.6274721765290585, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.504583614534686, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.381610678379896, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.2400102763103225, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.1297213720299086, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.99799967525714, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.999957362266854, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.0020795620456586, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.9981923655576999, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.9905934256254977, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.9900380778902848, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.9900568608234972, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.008316426292259, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.0017966837000984, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.0011878489814203, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.0063081034186672, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.007560235173048, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.999168849571513, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.0020033119064666, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.9905253030121938, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.006916655744961, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 0.9949938640232698, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 1, + "scan_rate": 31, + "growth_rate": 1.0028356858159917, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9949493321567325, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9934731168944626, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.001852475064249, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0062878910193405, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0038767627303442, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9906064509566601, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0007842021178188, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0095134962997463, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.005015261129592, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9958801262559003, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0050632255547352, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9930192808995921, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9971153453081847, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0066386170593964, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9946366008387535, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0025566921000004, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9999678860255196, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9917967217852074, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9905038791958979, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 0.9978443236630805, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.001787661728016, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0085922327089807, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0014417360288617, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + }, + { + "alloc_rate": 11, + "scan_rate": 31, + "growth_rate": 1.0017715269028697, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 2147483648 + } + ], + "global": { + "gamma": 2, + "globals_bytes": 32768, + "init_live_heap": 2097152 + } +} diff --git a/data/scenarios/high-GOGC.json b/data/scenarios/high-GOGC.json index 18372d4..811d122 100644 --- a/data/scenarios/high-GOGC.json +++ b/data/scenarios/high-GOGC.json @@ -1,401 +1,401 @@ { "cycles": [ { - "alloc_rate": 4.973964989556583, + "alloc_rate": 4.964705075338006, "scan_rate": 31, - "growth_rate": 2.0025019005660107, + "growth_rate": 2.0010516077962848, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.020058768203089, + "alloc_rate": 4.996642958452648, "scan_rate": 31, - "growth_rate": 1.8774721765290585, + "growth_rate": 1.8841590782707502, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.091672290693719, + "alloc_rate": 5.118883416364321, "scan_rate": 31, - "growth_rate": 1.756610678379896, + "growth_rate": 1.742147622256415, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.800205526206448, + "alloc_rate": 5.1132139893584005, "scan_rate": 31, - "growth_rate": 1.6297213720299086, + "growth_rate": 1.6228650199845778, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.959993505142799, + "alloc_rate": 4.852165538469516, "scan_rate": 31, - "growth_rate": 1.499957362266854, + "growth_rate": 1.4938006553267842, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.041591240913171, + "alloc_rate": 5.095930312406334, "scan_rate": 31, - "growth_rate": 1.3731923655576999, + "growth_rate": 1.3780808281846255, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.811868512509955, + "alloc_rate": 4.839353515594293, "scan_rate": 31, - "growth_rate": 1.2400380778902846, + "growth_rate": 1.2504076057142446, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.801137216469945, + "alloc_rate": 4.839891865487974, "scan_rate": 31, - "growth_rate": 1.133316426292259, + "growth_rate": 1.118036868041638, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.035933674001968, + "alloc_rate": 4.830476104921502, "scan_rate": 31, - "growth_rate": 1.0011878489814203, + "growth_rate": 0.9963041617064025, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.126162068373344, + "alloc_rate": 4.863860368585958, "scan_rate": 31, - "growth_rate": 1.007560235173048, + "growth_rate": 0.9927560812323906, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.98337699143026, + "alloc_rate": 4.929044273147119, "scan_rate": 31, - "growth_rate": 1.0020033119064666, + "growth_rate": 1.0007814903407897, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.810506060243876, + "alloc_rate": 5.0283406509381985, "scan_rate": 31, - "growth_rate": 1.006916655744961, + "growth_rate": 1.0002556351622216, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.899877280465398, + "alloc_rate": 5.073670052038982, "scan_rate": 31, - "growth_rate": 1.0028356858159917, + "growth_rate": 1.0030608041027071, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.898986643134651, + "alloc_rate": 5.009799903819946, "scan_rate": 31, - "growth_rate": 0.9934731168944626, + "growth_rate": 1.003085402688483, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.0370495012849785, + "alloc_rate": 5.086547349960669, "scan_rate": 31, - "growth_rate": 1.0062878910193405, + "growth_rate": 1.0027328842807637, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.077535254606884, + "alloc_rate": 4.805130363642545, "scan_rate": 31, - "growth_rate": 0.9906064509566601, + "growth_rate": 0.9906136439157428, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.015684042356378, + "alloc_rate": 4.839212349922522, "scan_rate": 31, - "growth_rate": 1.0095134962997463, + "growth_rate": 0.9973822341832869, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.10030522259184, + "alloc_rate": 5.130581650253896, "scan_rate": 31, - "growth_rate": 0.9958801262559003, + "growth_rate": 0.9969536341718314, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.101264511094703, + "alloc_rate": 4.937726007090545, "scan_rate": 31, - "growth_rate": 0.9930192808995921, + "growth_rate": 0.9950599964729568, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.942306906163695, + "alloc_rate": 4.886588458661988, "scan_rate": 31, - "growth_rate": 1.0066386170593964, + "growth_rate": 1.001100042712696, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.892732016775071, + "alloc_rate": 4.960828338108732, "scan_rate": 31, - "growth_rate": 1.0025566921000004, + "growth_rate": 1.0001299412735283, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.99935772051039, + "alloc_rate": 4.867471867333735, "scan_rate": 31, - "growth_rate": 0.9917967217852074, + "growth_rate": 0.9966273652061397, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.810077583917958, + "alloc_rate": 5.131171238460223, "scan_rate": 31, - "growth_rate": 0.9978443236630805, + "growth_rate": 1.0040057574629162, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.035753234560319, + "alloc_rate": 4.823170503865734, "scan_rate": 31, - "growth_rate": 1.0085922327089807, + "growth_rate": 1.0099831898044067, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.028834720577233, + "alloc_rate": 4.964616145288191, "scan_rate": 31, - "growth_rate": 1.0017715269028697, + "growth_rate": 0.9922334927352962, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.964705075338006, + "alloc_rate": 5.112301633823397, "scan_rate": 31, - "growth_rate": 15.001051607796285, + "growth_rate": 14.991842352488815, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.996642958452648, + "alloc_rate": 4.821397849797763, "scan_rate": 31, - "growth_rate": 1.0091590782707502, + "growth_rate": 1.0042939163178326, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.118883416364321, + "alloc_rate": 4.9003049101716725, "scan_rate": 31, - "growth_rate": 0.9921476222564151, + "growth_rate": 1.0069726584180632, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.1132139893584005, + "alloc_rate": 5.189552749628269, "scan_rate": 31, - "growth_rate": 0.9978650199845778, + "growth_rate": 0.9942512189810064, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.852165538469516, + "alloc_rate": 4.808613513330242, "scan_rate": 31, - "growth_rate": 0.9938006553267842, + "growth_rate": 1.0089038952077765, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.095930312406334, + "alloc_rate": 4.83718806219997, "scan_rate": 31, - "growth_rate": 1.0030808281846255, + "growth_rate": 1.0029166674904795, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.839353515594293, + "alloc_rate": 4.924754217130822, "scan_rate": 31, - "growth_rate": 1.0004076057142446, + "growth_rate": 0.9989692872788092, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.839891865487974, + "alloc_rate": 4.994895699432147, "scan_rate": 31, - "growth_rate": 0.993036868041638, + "growth_rate": 0.991649593530227, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.830476104921502, + "alloc_rate": 5.068731642493856, "scan_rate": 31, - "growth_rate": 0.9963041617064025, + "growth_rate": 0.9980037657884728, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.863860368585958, + "alloc_rate": 5.160110058905724, "scan_rate": 31, - "growth_rate": 0.9927560812323906, + "growth_rate": 1.008997664122025, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.929044273147119, + "alloc_rate": 4.927732507042847, "scan_rate": 31, - "growth_rate": 1.0007814903407897, + "growth_rate": 0.9999877098750483, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.0283406509381985, + "alloc_rate": 4.960172926856725, "scan_rate": 31, - "growth_rate": 1.0002556351622216, + "growth_rate": 0.990396173406509, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.073670052038982, + "alloc_rate": 5.05801554640778, "scan_rate": 31, - "growth_rate": 1.0030608041027071, + "growth_rate": 0.9985737686013987, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.009799903819946, + "alloc_rate": 4.935838700554924, "scan_rate": 31, - "growth_rate": 1.003085402688483, + "growth_rate": 1.00774895001701, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.086547349960669, + "alloc_rate": 4.894530989721744, "scan_rate": 31, - "growth_rate": 1.0027328842807637, + "growth_rate": 1.0053001642986656, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.805130363642545, + "alloc_rate": 4.814301858974433, "scan_rate": 31, - "growth_rate": 0.9906136439157428, + "growth_rate": 1.0045515451208304, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.839212349922522, + "alloc_rate": 5.05033465078325, "scan_rate": 31, - "growth_rate": 0.9973822341832869, + "growth_rate": 1.0002617501217572, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.130581650253896, + "alloc_rate": 4.8289793427169405, "scan_rate": 31, - "growth_rate": 0.9969536341718314, + "growth_rate": 1.0044845811691834, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.937726007090545, + "alloc_rate": 5.151937938522284, "scan_rate": 31, - "growth_rate": 0.9950599964729568, + "growth_rate": 1.0095552695471544, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.886588458661988, + "alloc_rate": 5.139000104905873, "scan_rate": 31, - "growth_rate": 1.001100042712696, + "growth_rate": 1.0066439587629987, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.960828338108732, + "alloc_rate": 4.899137809274798, "scan_rate": 31, - "growth_rate": 1.0001299412735283, + "growth_rate": 1.0082679812587294, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.867471867333735, + "alloc_rate": 4.8300148840538615, "scan_rate": 31, - "growth_rate": 0.9966273652061397, + "growth_rate": 1.0067020760230871, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 5.131171238460223, + "alloc_rate": 5.05173267665812, "scan_rate": 31, - "growth_rate": 1.0040057574629162, + "growth_rate": 1.0050348115779346, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.823170503865734, + "alloc_rate": 5.0528013735155195, "scan_rate": 31, - "growth_rate": 1.0099831898044067, + "growth_rate": 0.9919386842647746, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.964616145288191, + "alloc_rate": 4.80593094779795, "scan_rate": 31, - "growth_rate": 0.9922334927352962, + "growth_rate": 1.0016766948372506, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 diff --git a/data/scenarios/high-heap-target.json b/data/scenarios/high-heap-target.json index 2c42815..b9d8cc3 100644 --- a/data/scenarios/high-heap-target.json +++ b/data/scenarios/high-heap-target.json @@ -1,401 +1,401 @@ { "cycles": [ { - "alloc_rate": 5.112301633823397, + "alloc_rate": 4.827502478080862, "scan_rate": 31, - "growth_rate": 1.991842352488815, + "growth_rate": 2.0099654762201697, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.821397849797763, + "alloc_rate": 5.05967536663937, "scan_rate": 31, - "growth_rate": 1.8792939163178326, + "growth_rate": 1.884709311572665, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.9003049101716725, + "alloc_rate": 5.133922304087685, "scan_rate": 31, - "growth_rate": 1.7569726584180632, + "growth_rate": 1.7466411217143811, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.189552749628269, + "alloc_rate": 5.064557272233337, "scan_rate": 31, - "growth_rate": 1.6192512189810064, + "growth_rate": 1.6341204125319322, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.808613513330242, + "alloc_rate": 4.924204110489929, "scan_rate": 31, - "growth_rate": 1.5089038952077765, + "growth_rate": 1.4936878138800405, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.83718806219997, + "alloc_rate": 5.186837736548709, "scan_rate": 31, - "growth_rate": 1.3779166674904795, + "growth_rate": 1.381664836310563, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.924754217130822, + "alloc_rate": 4.923819380210931, "scan_rate": 31, - "growth_rate": 1.2489692872788092, + "growth_rate": 1.256117435350753, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.994895699432147, + "alloc_rate": 4.966930336876153, "scan_rate": 31, - "growth_rate": 1.116649593530227, + "growth_rate": 1.1293706089870554, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.068731642493856, + "alloc_rate": 4.962694710180156, "scan_rate": 31, - "growth_rate": 0.9980037657884728, + "growth_rate": 1.0079160653548829, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.160110058905724, + "alloc_rate": 5.1832705450410375, "scan_rate": 31, - "growth_rate": 1.008997664122025, + "growth_rate": 0.9903742644227931, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.927732507042847, + "alloc_rate": 5.116668923632833, "scan_rate": 31, - "growth_rate": 0.9999877098750483, + "growth_rate": 0.9984710630777168, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.960172926856725, + "alloc_rate": 4.806072510889229, "scan_rate": 31, - "growth_rate": 0.990396173406509, + "growth_rate": 0.9986539648015813, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.05801554640778, + "alloc_rate": 5.1619104948262935, "scan_rate": 31, - "growth_rate": 0.9985737686013987, + "growth_rate": 1.0071140882914977, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.935838700554924, + "alloc_rate": 4.817168656870534, "scan_rate": 31, - "growth_rate": 1.00774895001701, + "growth_rate": 1.003180610660155, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.894530989721744, + "alloc_rate": 4.939143617252022, "scan_rate": 31, - "growth_rate": 1.0053001642986656, + "growth_rate": 1.0000697358009738, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.814301858974433, + "alloc_rate": 5.1359789684682235, "scan_rate": 31, - "growth_rate": 1.0045515451208304, + "growth_rate": 0.9904621913682109, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.05033465078325, + "alloc_rate": 4.8497454074398165, "scan_rate": 31, - "growth_rate": 1.0002617501217572, + "growth_rate": 0.9952235123837644, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.8289793427169405, + "alloc_rate": 5.133979002597398, "scan_rate": 31, - "growth_rate": 1.0044845811691834, + "growth_rate": 0.9962960959191195, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.151937938522284, + "alloc_rate": 4.803072482589635, "scan_rate": 31, - "growth_rate": 1.0095552695471544, + "growth_rate": 1.0079950025143505, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.139000104905873, + "alloc_rate": 4.948107014580204, "scan_rate": 31, - "growth_rate": 1.0066439587629987, + "growth_rate": 0.9920039881853883, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.899137809274798, + "alloc_rate": 5.057281610628081, "scan_rate": 31, - "growth_rate": 1.0082679812587294, + "growth_rate": 1.0053977817996618, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.8300148840538615, + "alloc_rate": 5.1164501342647934, "scan_rate": 31, - "growth_rate": 1.0067020760230871, + "growth_rate": 0.9952476381494145, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.05173267665812, + "alloc_rate": 4.938745552151702, "scan_rate": 31, - "growth_rate": 1.0050348115779346, + "growth_rate": 0.9942930743075389, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.0528013735155195, + "alloc_rate": 5.1288371588706285, "scan_rate": 31, - "growth_rate": 0.9919386842647746, + "growth_rate": 0.9970226859933042, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.80593094779795, + "alloc_rate": 5.039677701002352, "scan_rate": 31, - "growth_rate": 1.0016766948372506, + "growth_rate": 1.0015670251386222, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.827502478080862, + "alloc_rate": 4.9654323951905255, "scan_rate": 31, - "growth_rate": 15.00996547622017, + "growth_rate": 14.992397010178058, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.05967536663937, + "alloc_rate": 5.164645482716639, "scan_rate": 31, - "growth_rate": 1.009709311572665, + "growth_rate": 0.9910757116021149, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.133922304087685, + "alloc_rate": 4.89156703470424, "scan_rate": 31, - "growth_rate": 0.9966411217143812, + "growth_rate": 0.9964834792612277, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.064557272233337, + "alloc_rate": 4.940306051058864, "scan_rate": 31, - "growth_rate": 1.0091204125319322, + "growth_rate": 0.9969857749554852, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.924204110489929, + "alloc_rate": 4.921520851941747, "scan_rate": 31, - "growth_rate": 0.9936878138800406, + "growth_rate": 1.0093749231993163, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.186837736548709, + "alloc_rate": 5.0686106201843355, "scan_rate": 31, - "growth_rate": 1.006664836310563, + "growth_rate": 0.9941588625674631, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.923819380210931, + "alloc_rate": 5.185255760480988, "scan_rate": 31, - "growth_rate": 1.006117435350753, + "growth_rate": 0.9960440475008426, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.966930336876153, + "alloc_rate": 5.123176432381923, "scan_rate": 31, - "growth_rate": 1.0043706089870554, + "growth_rate": 0.9926816832550048, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.962694710180156, + "alloc_rate": 5.179104115677823, "scan_rate": 31, - "growth_rate": 1.0079160653548829, + "growth_rate": 1.002817296423365, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.1832705450410375, + "alloc_rate": 5.181303501700141, "scan_rate": 31, - "growth_rate": 0.9903742644227931, + "growth_rate": 1.006197484518679, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.116668923632833, + "alloc_rate": 4.872636338703026, "scan_rate": 31, - "growth_rate": 0.9984710630777168, + "growth_rate": 1.0088551474307474, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.806072510889229, + "alloc_rate": 5.132496414217507, "scan_rate": 31, - "growth_rate": 0.9986539648015813, + "growth_rate": 0.9998936087156411, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.1619104948262935, + "alloc_rate": 5.142124138590776, "scan_rate": 31, - "growth_rate": 1.0071140882914977, + "growth_rate": 1.004214878236382, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.817168656870534, + "alloc_rate": 4.909397902516639, "scan_rate": 31, - "growth_rate": 1.003180610660155, + "growth_rate": 0.9981526574378397, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.939143617252022, + "alloc_rate": 5.1639045130076475, "scan_rate": 31, - "growth_rate": 1.0000697358009738, + "growth_rate": 1.008887942774006, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.1359789684682235, + "alloc_rate": 4.999452980742241, "scan_rate": 31, - "growth_rate": 0.9904621913682109, + "growth_rate": 0.9957727662025462, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.8497454074398165, + "alloc_rate": 5.1903581025998555, "scan_rate": 31, - "growth_rate": 0.9952235123837644, + "growth_rate": 0.9990516895255617, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.133979002597398, + "alloc_rate": 4.817996279471183, "scan_rate": 31, - "growth_rate": 0.9962960959191195, + "growth_rate": 0.9963072396303642, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.803072482589635, + "alloc_rate": 5.1807624592481485, "scan_rate": 31, - "growth_rate": 1.0079950025143505, + "growth_rate": 1.0050312616494848, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.948107014580204, + "alloc_rate": 5.014316399595845, "scan_rate": 31, - "growth_rate": 0.9920039881853883, + "growth_rate": 1.0033942917767023, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.057281610628081, + "alloc_rate": 5.1460699989933145, "scan_rate": 31, - "growth_rate": 1.0053977817996618, + "growth_rate": 0.9991776890780778, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.1164501342647934, + "alloc_rate": 5.031420360998328, "scan_rate": 31, - "growth_rate": 0.9952476381494145, + "growth_rate": 0.9996305964369933, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 4.938745552151702, + "alloc_rate": 5.0202463047932735, "scan_rate": 31, - "growth_rate": 0.9942930743075389, + "growth_rate": 1.0090124648761631, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.1288371588706285, + "alloc_rate": 5.003946168189183, "scan_rate": 31, - "growth_rate": 0.9970226859933042, + "growth_rate": 1.0048502945932365, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 }, { - "alloc_rate": 5.039677701002352, + "alloc_rate": 4.996317605765742, "scan_rate": 31, - "growth_rate": 1.0015670251386222, + "growth_rate": 0.9913230282974138, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": 2147483648 diff --git a/data/scenarios/jitter-alloc.json b/data/scenarios/jitter-alloc.json index fcc94ae..d295a03 100644 --- a/data/scenarios/jitter-alloc.json +++ b/data/scenarios/jitter-alloc.json @@ -1,401 +1,401 @@ { "cycles": [ { - "alloc_rate": 3.9308647903810505, + "alloc_rate": 3.8099925301199193, "scan_rate": 31, - "growth_rate": 1.9923970101780573, + "growth_rate": 2.00850935888156, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.329290965433279, + "alloc_rate": 3.897189321326578, "scan_rate": 31, - "growth_rate": 1.866075711602115, + "growth_rate": 1.8731883880006215, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.783134069408479, + "alloc_rate": 3.932601575787197, "scan_rate": 31, - "growth_rate": 1.7464834792612278, + "growth_rate": 1.7419452319947308, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.880612102117729, + "alloc_rate": 4.321302099583755, "scan_rate": 31, - "growth_rate": 1.6219857749554853, + "growth_rate": 1.6150888931959626, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.8430417038834928, + "alloc_rate": 3.8191396346808215, "scan_rate": 31, - "growth_rate": 1.5093749231993163, + "growth_rate": 1.492186133222336, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.13722124036867, + "alloc_rate": 4.284358730314364, "scan_rate": 31, - "growth_rate": 1.369158862567463, + "growth_rate": 1.3701411071327805, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.370511520961976, + "alloc_rate": 4.3913056736256175, "scan_rate": 31, - "growth_rate": 1.2460440475008427, + "growth_rate": 1.2585282284473625, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.246352864763846, + "alloc_rate": 3.736756825670714, "scan_rate": 31, - "growth_rate": 1.117681683255005, + "growth_rate": 1.121077742497865, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.358208231355645, + "alloc_rate": 4.0267611598249236, "scan_rate": 31, - "growth_rate": 1.002817296423365, + "growth_rate": 0.9935297922695294, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.3626070034002815, + "alloc_rate": 4.250872619821223, "scan_rate": 31, - "growth_rate": 1.006197484518679, + "growth_rate": 1.0041027424760252, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.745272677406051, + "alloc_rate": 3.8057660459371196, "scan_rate": 31, - "growth_rate": 1.0088551474307474, + "growth_rate": 0.9950073784092996, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.264992828435014, + "alloc_rate": 3.868075493519423, "scan_rate": 31, - "growth_rate": 0.9998936087156411, + "growth_rate": 1.0050248126325052, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.284248277181552, + "alloc_rate": 3.6039038260862286, "scan_rate": 31, - "growth_rate": 1.004214878236382, + "growth_rate": 1.0068198641287252, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.8187958050332784, + "alloc_rate": 3.783658870957326, "scan_rate": 31, - "growth_rate": 0.9981526574378397, + "growth_rate": 0.9902657109545516, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.327809026015295, + "alloc_rate": 4.359949925735035, "scan_rate": 31, - "growth_rate": 1.008887942774006, + "growth_rate": 1.0079874292931403, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.9989059614844815, + "alloc_rate": 4.370099360915109, "scan_rate": 31, - "growth_rate": 0.9957727662025462, + "growth_rate": 0.9908600072390985, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.38071620519971, + "alloc_rate": 4.170130089731738, "scan_rate": 31, - "growth_rate": 0.9990516895255617, + "growth_rate": 0.9910218819651643, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.6359925589423656, + "alloc_rate": 3.926025683886862, "scan_rate": 31, - "growth_rate": 0.9963072396303642, + "growth_rate": 0.9995139474799231, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.361524918496298, + "alloc_rate": 3.877974708855528, "scan_rate": 31, - "growth_rate": 1.0050312616494848, + "growth_rate": 0.990814398774222, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.0286327991916915, + "alloc_rate": 4.0780529641155265, "scan_rate": 31, - "growth_rate": 1.0033942917767023, + "growth_rate": 0.9952024934720619, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.292139997986629, + "alloc_rate": 4.26628468446191, "scan_rate": 31, - "growth_rate": 0.9991776890780778, + "growth_rate": 1.0092099501059644, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.062840721996656, + "alloc_rate": 4.3493660551252304, "scan_rate": 31, - "growth_rate": 0.9996305964369933, + "growth_rate": 0.9945864047689468, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.040492609586546, + "alloc_rate": 4.17625048015132, "scan_rate": 31, - "growth_rate": 1.0090124648761631, + "growth_rate": 1.0051296464853752, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.007892336378364, + "alloc_rate": 3.960123140060759, "scan_rate": 31, - "growth_rate": 1.0048502945932365, + "growth_rate": 0.9967795477679087, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.9926352115314843, + "alloc_rate": 3.977993641800892, "scan_rate": 31, - "growth_rate": 0.9913230282974138, + "growth_rate": 1.0097198872001634, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.8099925301199193, + "alloc_rate": 3.889865181703154, "scan_rate": 31, - "growth_rate": 1.00850935888156, + "growth_rate": 0.9949931001460723, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.897189321326578, + "alloc_rate": 3.6382946785438115, "scan_rate": 31, - "growth_rate": 0.9981883880006215, + "growth_rate": 1.0057943443105999, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.932601575787197, + "alloc_rate": 4.2049681451218195, "scan_rate": 31, - "growth_rate": 0.9919452319947308, + "growth_rate": 1.0031493809111993, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.321302099583755, + "alloc_rate": 3.7767990816285457, "scan_rate": 31, - "growth_rate": 0.9900888931959626, + "growth_rate": 1.0031501075276363, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.8191396346808215, + "alloc_rate": 3.912673956120921, "scan_rate": 31, - "growth_rate": 0.992186133222336, + "growth_rate": 1.0083850899993796, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.284358730314364, + "alloc_rate": 3.719748385351679, "scan_rate": 31, - "growth_rate": 0.9951411071327805, + "growth_rate": 1.0004078404412036, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.3913056736256175, + "alloc_rate": 4.212470825467388, "scan_rate": 31, - "growth_rate": 1.0085282284473625, + "growth_rate": 0.9949636492033522, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.736756825670714, + "alloc_rate": 3.9643551750136012, "scan_rate": 31, - "growth_rate": 0.9960777424978651, + "growth_rate": 1.0039957828485484, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.0267611598249236, + "alloc_rate": 3.665575573571734, "scan_rate": 31, - "growth_rate": 0.9935297922695294, + "growth_rate": 1.0002454406588581, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.250872619821223, + "alloc_rate": 3.813105434701221, "scan_rate": 31, - "growth_rate": 1.0041027424760252, + "growth_rate": 1.0024400326919467, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.8057660459371196, + "alloc_rate": 3.6792561403521518, "scan_rate": 31, - "growth_rate": 0.9950073784092996, + "growth_rate": 0.9928115057537396, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.868075493519423, + "alloc_rate": 3.727362851734295, "scan_rate": 31, - "growth_rate": 1.0050248126325052, + "growth_rate": 1.0088803019518848, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.6039038260862286, + "alloc_rate": 4.105181264053868, "scan_rate": 31, - "growth_rate": 1.0068198641287252, + "growth_rate": 0.9949158390899212, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.783658870957326, + "alloc_rate": 4.374004196817278, "scan_rate": 31, - "growth_rate": 0.9902657109545516, + "growth_rate": 1.000739612319408, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.359949925735035, + "alloc_rate": 3.870544876175048, "scan_rate": 31, - "growth_rate": 1.0079874292931403, + "growth_rate": 1.003433352813232, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.370099360915109, + "alloc_rate": 4.2699727392587565, "scan_rate": 31, - "growth_rate": 0.9908600072390985, + "growth_rate": 1.0046770967440664, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.170130089731738, + "alloc_rate": 4.001776646815009, "scan_rate": 31, - "growth_rate": 0.9910218819651643, + "growth_rate": 0.9984694755931578, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.926025683886862, + "alloc_rate": 3.970431601892938, "scan_rate": 31, - "growth_rate": 0.9995139474799231, + "growth_rate": 1.0090608930549707, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.877974708855528, + "alloc_rate": 4.195258094452918, "scan_rate": 31, - "growth_rate": 0.990814398774222, + "growth_rate": 0.9991037918379436, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.0780529641155265, + "alloc_rate": 3.7987335855822773, "scan_rate": 31, - "growth_rate": 0.9952024934720619, + "growth_rate": 1.0043977112556668, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.26628468446191, + "alloc_rate": 3.9389617595630213, "scan_rate": 31, - "growth_rate": 1.0092099501059644, + "growth_rate": 1.0048518171474259, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.3493660551252304, + "alloc_rate": 4.125478606966252, "scan_rate": 31, - "growth_rate": 0.9945864047689468, + "growth_rate": 1.0036504315079993, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 4.17625048015132, + "alloc_rate": 4.10943271566957, "scan_rate": 31, - "growth_rate": 1.0051296464853752, + "growth_rate": 0.9949716567107639, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.960123140060759, + "alloc_rate": 3.9094891497875572, "scan_rate": 31, - "growth_rate": 0.9967795477679087, + "growth_rate": 1.0053994190560915, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 }, { - "alloc_rate": 3.977993641800892, + "alloc_rate": 3.7010914874146597, "scan_rate": 31, - "growth_rate": 1.0097198872001634, + "growth_rate": 0.9957327553102566, "scannable_frac": 1, "stack_bytes": 8192, "heap_target": -1 diff --git a/data/scenarios/low-heap-target.json b/data/scenarios/low-heap-target.json new file mode 100644 index 0000000..c54eeda --- /dev/null +++ b/data/scenarios/low-heap-target.json @@ -0,0 +1,409 @@ +{ + "cycles": [ + { + "alloc_rate": 4.002267835634323, + "scan_rate": 31, + "growth_rate": 1.4939712307074868, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.098921273374465, + "scan_rate": 31, + "growth_rate": 1.3777190656705065, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.045463798662119, + "scan_rate": 31, + "growth_rate": 1.248246308860302, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.002804713758344, + "scan_rate": 31, + "growth_rate": 1.1176237983075983, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.009120526770248, + "scan_rate": 31, + "growth_rate": 1.0069007003301582, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9586568707606244, + "scan_rate": 31, + "growth_rate": 1.0055660763488, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9283557537573994, + "scan_rate": 31, + "growth_rate": 1.0030875904681547, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.026269646929371, + "scan_rate": 31, + "growth_rate": 0.997879304895631, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.900282308804977, + "scan_rate": 31, + "growth_rate": 1.0013173322888491, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.0775584043277355, + "scan_rate": 31, + "growth_rate": 0.9990496566918348, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.019235731704626, + "scan_rate": 31, + "growth_rate": 1.0028567067427336, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.0659676806726175, + "scan_rate": 31, + "growth_rate": 1.0062076031814862, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9131869663730496, + "scan_rate": 31, + "growth_rate": 0.9916294941014924, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9671036044396355, + "scan_rate": 31, + "growth_rate": 0.9998126947469442, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.023805935529331, + "scan_rate": 31, + "growth_rate": 1.0025531747192913, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9649288216456573, + "scan_rate": 31, + "growth_rate": 1.0058642904347408, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.916837377100239, + "scan_rate": 31, + "growth_rate": 0.995086514401023, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.0375136381120855, + "scan_rate": 31, + "growth_rate": 0.9984043473135101, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.904426226432747, + "scan_rate": 31, + "growth_rate": 0.9943399358497488, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.915649146987302, + "scan_rate": 31, + "growth_rate": 1.001276886682788, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.945715038533946, + "scan_rate": 31, + "growth_rate": 0.9973514713323227, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9544089754503338, + "scan_rate": 31, + "growth_rate": 1.0080059953269185, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.0323660108336075, + "scan_rate": 31, + "growth_rate": 0.9989025981798405, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.0937489131632825, + "scan_rate": 31, + "growth_rate": 1.0033522667991115, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.972880012618025, + "scan_rate": 31, + "growth_rate": 0.9901325393109346, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.941235056854045, + "scan_rate": 31, + "growth_rate": 4.005649101085258, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.053286253960914, + "scan_rate": 31, + "growth_rate": 1.006164832439854, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9575818971861834, + "scan_rate": 31, + "growth_rate": 1.0021989943560943, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9904407856478943, + "scan_rate": 31, + "growth_rate": 0.9945301918152394, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.977811278331061, + "scan_rate": 31, + "growth_rate": 0.9949372920227443, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.901505689837018, + "scan_rate": 31, + "growth_rate": 0.9930695141724316, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9008978602983024, + "scan_rate": 31, + "growth_rate": 1.0081840709469434, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9475681838730554, + "scan_rate": 31, + "growth_rate": 0.9965452613706086, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.058631323305367, + "scan_rate": 31, + "growth_rate": 0.9986058355934422, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9880189441780116, + "scan_rate": 31, + "growth_rate": 0.9919921895091443, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.05680413531346, + "scan_rate": 31, + "growth_rate": 1.0004415818735741, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.92043757711133, + "scan_rate": 31, + "growth_rate": 1.0069657405148216, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9327716881703427, + "scan_rate": 31, + "growth_rate": 1.0013080842530877, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.924239491262242, + "scan_rate": 31, + "growth_rate": 0.9955070899234104, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.099666615860043, + "scan_rate": 31, + "growth_rate": 1.0085859968640716, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9206577366601696, + "scan_rate": 31, + "growth_rate": 0.9942174219348388, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9629180278475116, + "scan_rate": 31, + "growth_rate": 0.9994485830138485, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9286533807603963, + "scan_rate": 31, + "growth_rate": 0.997509568147573, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.037560779908668, + "scan_rate": 31, + "growth_rate": 1.0057580201944027, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.906563174734654, + "scan_rate": 31, + "growth_rate": 0.9919277811886966, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.966963679825089, + "scan_rate": 31, + "growth_rate": 1.000462148556789, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.969716011088526, + "scan_rate": 31, + "growth_rate": 0.9936054357169027, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 4.082940284400425, + "scan_rate": 31, + "growth_rate": 0.9973620212231473, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.9316910543395513, + "scan_rate": 31, + "growth_rate": 0.9918203571072707, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + }, + { + "alloc_rate": 3.95262962679967, + "scan_rate": 31, + "growth_rate": 0.9978897326248303, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 67108864 + } + ], + "global": { + "gamma": 2, + "globals_bytes": 32768, + "init_live_heap": 2097152 + } +} diff --git a/data/scenarios/step-heap-target.json b/data/scenarios/step-heap-target.json new file mode 100644 index 0000000..7c4ac33 --- /dev/null +++ b/data/scenarios/step-heap-target.json @@ -0,0 +1,409 @@ +{ + "cycles": [ + { + "alloc_rate": 3.9377909488567373, + "scan_rate": 31, + "growth_rate": 2.0051170645118206, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.028272712628834, + "scan_rate": 31, + "growth_rate": 1.8713736488998298, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.0256793486133775, + "scan_rate": 31, + "growth_rate": 1.7455688956662752, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.967397016381941, + "scan_rate": 31, + "growth_rate": 1.626549362540953, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9856510265347347, + "scan_rate": 31, + "growth_rate": 1.492209804815287, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.969359850257132, + "scan_rate": 31, + "growth_rate": 1.372619673509186, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.060998609096772, + "scan_rate": 31, + "growth_rate": 1.2576607382342377, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9754587126796266, + "scan_rate": 31, + "growth_rate": 1.1185969185097193, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9894606357538565, + "scan_rate": 31, + "growth_rate": 0.9937874494028603, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.919770555358856, + "scan_rate": 31, + "growth_rate": 0.993292703541235, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.90530493586543, + "scan_rate": 31, + "growth_rate": 1.0030234802162765, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.056694510290718, + "scan_rate": 31, + "growth_rate": 0.9936751883349509, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.095027011630622, + "scan_rate": 31, + "growth_rate": 1.0046247623319933, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.988529046745678, + "scan_rate": 31, + "growth_rate": 0.9950251903678127, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.022487350573456, + "scan_rate": 31, + "growth_rate": 0.9904492671780187, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.919298541971487, + "scan_rate": 31, + "growth_rate": 1.000001440086626, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.947638293644682, + "scan_rate": 31, + "growth_rate": 0.9956201941891516, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9876015768518105, + "scan_rate": 31, + "growth_rate": 1.008309659702099, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9410925312308547, + "scan_rate": 31, + "growth_rate": 1.0040582965586105, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9940357884743967, + "scan_rate": 31, + "growth_rate": 1.008833553584685, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.917911557373003, + "scan_rate": 31, + "growth_rate": 1.0053851082043501, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.903680807595261, + "scan_rate": 31, + "growth_rate": 0.9918784513970685, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.090165663955281, + "scan_rate": 31, + "growth_rate": 0.9912644052163826, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.000652829422577, + "scan_rate": 31, + "growth_rate": 1.0059548986395948, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 4.009077321876404, + "scan_rate": 31, + "growth_rate": 0.9980947370110292, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": -1 + }, + { + "alloc_rate": 3.9404624979009837, + "scan_rate": 31, + "growth_rate": 0.9963633755131653, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.090234487046065, + "scan_rate": 31, + "growth_rate": 1.0058241402477195, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.0929339685493, + "scan_rate": 31, + "growth_rate": 0.9933205720586223, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.9543153932251562, + "scan_rate": 31, + "growth_rate": 1.0029930197331516, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.951174213912644, + "scan_rate": 31, + "growth_rate": 1.0023293240267772, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.9378554539322432, + "scan_rate": 31, + "growth_rate": 1.0092085699212177, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.971307532340443, + "scan_rate": 31, + "growth_rate": 1.0086162403340153, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.023080741727336, + "scan_rate": 31, + "growth_rate": 1.003510408428206, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.056488336486989, + "scan_rate": 31, + "growth_rate": 0.991316567809705, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.05285264095965, + "scan_rate": 31, + "growth_rate": 1.0044825858611066, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.924634383792303, + "scan_rate": 31, + "growth_rate": 1.0061770437748938, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.007008251954622, + "scan_rate": 31, + "growth_rate": 1.0009104962766069, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.943713960282963, + "scan_rate": 31, + "growth_rate": 0.9910114265515688, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.025594490524767, + "scan_rate": 31, + "growth_rate": 1.0023787769276264, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.991626603318689, + "scan_rate": 31, + "growth_rate": 0.9994460180110143, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.073387219449204, + "scan_rate": 31, + "growth_rate": 1.0013407757580977, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.9812778449346182, + "scan_rate": 31, + "growth_rate": 1.0021604289688912, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.992727603710545, + "scan_rate": 31, + "growth_rate": 1.0070893421006717, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.024626117622953, + "scan_rate": 31, + "growth_rate": 1.003895326762768, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.9664380416438285, + "scan_rate": 31, + "growth_rate": 1.0038355945505257, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.056748610604397, + "scan_rate": 31, + "growth_rate": 1.0057766478727421, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 4.056918149435027, + "scan_rate": 31, + "growth_rate": 1.0070403231020892, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.961897914355772, + "scan_rate": 31, + "growth_rate": 0.9905423790850478, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.910552662526364, + "scan_rate": 31, + "growth_rate": 0.9935629204158098, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + }, + { + "alloc_rate": 3.9764186122889993, + "scan_rate": 31, + "growth_rate": 1.005474583233951, + "scannable_frac": 1, + "stack_bytes": 8192, + "heap_target": 268435456 + } + ], + "global": { + "gamma": 2, + "globals_bytes": 32768, + "init_live_heap": 2097152 + } +} diff --git a/scenario/generators.go b/scenario/generators.go index ec4c717..7f19482 100644 --- a/scenario/generators.go +++ b/scenario/generators.go @@ -215,6 +215,54 @@ var generators = map[string]func() exec{ length: 50, } }, + "low-heap-target": func() exec { + return exec{ + globals: Globals{ + Gamma: 2, + GlobalsBytes: 32 << 10, + InitialHeap: 2 << 20, + }, + allocRate: random(0.1).offset(4), + scanRate: constant(31.0), + growthRate: constant(1.5).mix(ramp(-0.5, 4), random(0.01), unit(3).delay(25)), + scannableFrac: constant(1.0), + stackBytes: constant(8192), + heapTargetBytes: constant(64 << 20), + length: 50, + } + }, + "step-heap-target": func() exec { + return exec{ + globals: Globals{ + Gamma: 2, + GlobalsBytes: 32 << 10, + InitialHeap: 2 << 20, + }, + allocRate: random(0.1).offset(4), + scanRate: constant(31.0), + growthRate: constant(2.0).mix(ramp(-1.0, 8), random(0.01)), + scannableFrac: constant(1.0), + stackBytes: constant(8192), + heapTargetBytes: constant(-1).mix(constant((256 << 20) + 1).delay(25)), + length: 50, + } + }, + "heavy-step-alloc-high-heap-target": func() exec { + return exec{ + globals: Globals{ + Gamma: 2, + GlobalsBytes: 32 << 10, + InitialHeap: 2 << 20, + }, + allocRate: constant(1.0).mix(ramp(10.0, 1).delay(25)), + scanRate: constant(31.0), + growthRate: constant(2.0).mix(ramp(-1.0, 8), random(0.01)), + scannableFrac: constant(1.0), + stackBytes: constant(8192), + heapTargetBytes: constant(2 << 30), + length: 50, + } + }, } type stream func() float64 diff --git a/tools/gen-plots.py b/tools/gen-plots.py index 51c8bff..124970e 100644 --- a/tools/gen-plots.py +++ b/tools/gen-plots.py @@ -36,7 +36,8 @@ def bytesPlot(axs): triggerPlot, = axs.plot(t, data['Trigger'] / float(1<<20), label='GC trigger') peakPlot, = axs.plot(t, data['Peak'] / float(1<<20), label='Peak heap') stackPlot, = axs.plot(t, data['Stack_Bytes'] / float(1<<20), label='Stack') - doLegend(axs, handles=[goalPlot, triggerPlot, peakPlot, stackPlot]) + livePlot, = axs.plot(t, data['Live_Bytes'] / float(1<<20), label='Live') + doLegend(axs, handles=[goalPlot, triggerPlot, peakPlot, stackPlot, livePlot]) axs.set_ylabel('MiB') axs.set_xlim(t[0], t[-1]) axs.grid(True)