tqchen commented on PR #733: URL: https://github.com/apache/tvm-ffi/pull/733#issuecomment-5519871097
Benchmark evidence for the two changes combined in this PR The measurement used three arms so each change remains attributable: A = base `0cfb9a945b0a76be870bbda6d0bb41cf4cde11c7`; B = the move-correct structural-mutation change at measured head `171c005f68dc94b735f2d226c5a0f9cb2f2a832b`; C = B plus callback gating at measured head `236a46932cf4397fa3f0444b3b9a70ea353120e3`. The benchmark source was applied identically outside all branches. No harness, fixture, report, or benchmark artifact is in this PR. Methodology: GCC 14.3.0, `-O3 -DNDEBUG`, AMD Ryzen 9 7950X, CPU 30 pinned. Seven A→B→C rounds were interleaved; every binary value is the median of eleven in-process samples. For each fixture, pairs whose untouched walk control differed by more than 3% were discarded. Values below are ns per processed node. Move-correct mutation, B versus A (retained base rounds 1, 2, 6; nested-4 rounds 1, 2, 4, 7): | Rung | A base / nested-4 | B base / nested-4 | B vs A | |---|---:|---:|---:| | walk (untouched control) | 6.832 / 7.017 | 6.880 / 7.007 | +0.7% / -0.1% | | default mutate | 25.773 / 25.838 | 22.222 / 21.467 | -13.8% / -16.9% | | + identity remap | 31.389 / 31.505 | 26.830 / 26.887 | -14.5% / -14.7% | | hoisted never-match control | 30.961 / 30.461 | 26.484 / 25.405 | -14.5% / -16.6% | | unmatched map | 50.953 / 47.622 | 45.544 / 40.842 | -10.6% / -14.2% | | changed map | 61.641 / 61.165 | 55.487 / 52.977 | -10.0% / -13.4% | | matching no-op map | 54.858 / 51.523 | 48.997 / 45.320 | -10.7% / -12.0% | Callback gating, C versus B (retained base rounds 1, 2, 5, 6, 7; nested-4 rounds 1, 2): | Rung | B base / nested-4 | C base / nested-4 | C vs B | |---|---:|---:|---:| | walk (untouched control) | 6.909 / 6.897 | 6.808 / 6.947 | -1.5% / +0.7% | | default mutate (pre-gate control) | 22.195 / 21.492 | 22.237 / 21.583 | +0.2% / +0.4% | | + identity remap (pre-gate control) | 27.067 / 27.079 | 26.647 / 26.554 | -1.6% / -1.9% | | hoisted never-match control | 26.305 / 25.405 | 26.518 / 25.605 | +0.8% / +0.8% | | unmatched map | 45.666 / 40.842 | 25.970 / 25.588 | -43.1% / -37.3% | | changed map | 55.481 / 52.977 | 39.982 / 37.674 | -27.9% / -28.9% | | matching no-op map | 48.997 / 45.320 | 33.969 / 29.274 | -30.7% / -35.4% | The untouched walk and pre-gate controls stay within the retained 3% comparability bound. The results are reported as B/A and C/B rather than a combined headline so the payload-move and callback-gating effects remain separately visible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
