This patch move the CommentInfo type into the arena. It updates block handling to collect child info types and serialize the array in one shot. We also clean up the test code to avoid using the arenas in the tests. This has the upside of making the test more hermetic, and avoids churn in the related code as the allocation API interfaces evolve. Performance and memory usage regress slightly. This is somewhat expected as we do not yet aggressively release short term memory during merge operations. Future patches will reclaim this overhead. | Metric | Baseline | Prev | This | Culm% | Seq% | | :--- | :--- | :--- | :--- | :--- | :--- | | Time | 920.5s | 998.5s | 1010.5s | +9.8% | +1.2% | | Memory | 86.0G | 43.8G | 47.8G | -44.4% | +9.2% | | Benchmark | Baseline | Prev | This | Culm% | Seq% | | :--- | :--- | :--- | :--- | :--- | :--- | | BM_BitcodeReader_Scale/10 | 67.9us | 68.8us | 68.7us | +1.1% | -0.2% | | BM_BitcodeReader_Scale/10000 | 70.5ms | 24.5ms | 23.8ms | -66.2% | -2.8% | | BM_BitcodeReader_Scale/4096 | 23.2ms | 4.4ms | 4.4ms | -80.9% | -0.0% | | BM_BitcodeReader_Scale/512 | 509.4us | 538.6us | 538.3us | +5.7% | -0.1% | | BM_BitcodeReader_Scale/64 | 114.8us | 116.9us | 116.8us | +1.8% | -0.1% | | BM_Index_Insertion/10 | 2.3us | 4.2us | 3.8us | +65.6% | -8.2% | | BM_Index_Insertion/10000 | 3.1ms | 5.3ms | 5.1ms | +61.7% | -5.4% | | BM_Index_Insertion/4096 | 1.3ms | 2.1ms | 2.0ms | +56.8% | -6.1% | | BM_Index_Insertion/512 | 153.6us | 257.2us | 243.3us | +58.5% | -5.4% | | BM_Index_Insertion/64 | 18.1us | 30.5us | 29.1us | +61.1% | -4.8% | | BM_JSONGenerator_Scale/10 | 36.8us | 36.6us | 37.6us | +2.2% | +2.9% | | BM_JSONGenerator_Scale/10000 | 89.6ms | 90.2ms | 91.1ms | +1.6% | +1.0% | | BM_JSONGenerator_Scale/4096 | 33.7ms | 34.5ms | 35.0ms | +3.7% | +1.3% | | BM_JSONGenerator_Scale/512 | 1.9ms | 1.9ms | 2.0ms | +1.8% | +1.7% | | BM_JSONGenerator_Scale/64 | 222.4us | 218.7us | 226.7us | +1.9% | +3.7% | | BM_Mapper_Scale/10 | 2.5ms | 2.5ms | 2.5ms | +0.7% | +1.9% | | BM_Mapper_Scale/10000 | 104.3ms | 106.1ms | 105.5ms | +1.1% | -0.6% | | BM_Mapper_Scale/4096 | 44.3ms | 45.0ms | 44.5ms | +0.3% | -1.1% | | BM_MergeInfos_Scale/10000 | 12.2ms | 2.0ms | 1.9ms | -84.8% | -7.1% | | BM_MergeInfos_Scale/2 | 1.9us | 1.8us | 1.7us | -7.9% | -2.1% | | BM_MergeInfos_Scale/4096 | 2.8ms | 574.7us | 531.2us | -80.9% | -7.6% | | BM_MergeInfos_Scale/512 | 68.9us | 39.6us | 36.5us | -47.0% | -7.9% | | BM_MergeInfos_Scale/64 | 10.3us | 6.5us | 6.0us | -41.3% | -7.0% | | BM_MergeInfos_Scale/8 | 2.8us | 2.2us | 2.2us | -22.4% | -2.8% | Note that I used an LLM to help update test code.
30 KiB
30 KiB