Repository navigation
builder: match size tests to the CLI interpreter limit - #5975
Merged
deadprogram merged 1 commit intoOct 24, 2026
Merged
deadprogram merged 1 commit into
deadprogram merged 1 commit into
Conversation
davecheney
added a commit
to davecheney/tinygo
that referenced
this pull request
Oct 22, 2026
Recent changes that let interp move startup work to compile time did not show up in TestBinarySize, so their savings went unmeasured and a regression would go unnoticed. These samples cover the RP2 targets, ESP32-C3, slice growth and os. Their sizes match on Go 1.25 to 1.27. Run against the commits before and after each change, these rows show (code/rodata bytes, opt=z): - tinygo-org#5837 RP2 PLL: pico -1308/-548, pico2 -1128/-552 (opt=2 code -5 to -6 KB). Visible only with tinygo-org#5975. - tinygo-org#5963 llvm.ctlz: pico -818/-142, pico2 -754/-142, size-slice -163/-5. - tinygo-org#5973 os temp file seed: pico2 size-os -16 (opt=2 -32).
davecheney
added a commit
to davecheney/tinygo
that referenced
this pull request
Oct 22, 2026
Recent changes that let interp move startup work to compile time did not show up in TestBinarySize, so their savings went unmeasured and a regression would go unnoticed. These samples cover the RP2 targets, ESP32-C3, slice growth and os. Their sizes match on Go 1.25 to 1.27. Run against the commits before and after each change, these rows show (code/rodata bytes, opt=z): - tinygo-org#5837 RP2 PLL: pico -1308/-548, pico2 -1128/-552 (opt=2 code -5 to -6 KB). Visible only with tinygo-org#5975. - tinygo-org#5963 llvm.ctlz: pico -818/-142, pico2 -754/-142, size-slice -163/-5. - tinygo-org#5973 os temp file seed: pico2 size-os -16 (opt=2 -32).
davecheney
added a commit
to davecheney/tinygo
that referenced
this pull request
Oct 22, 2026
Recent changes that let interp move startup work to compile time did not show up in TestBinarySize, so their savings went unmeasured and a regression would go unnoticed. These samples cover the RP2 targets, ESP32-C3, slice growth and os. Their sizes match on Go 1.25 to 1.27. Run against the commits before and after each change, these rows show (code/rodata bytes, opt=z): - tinygo-org#5837 RP2 PLL: pico -1308/-548, pico2 -1128/-552 (opt=2 code -5 to -6 KB). Visible only with tinygo-org#5975. - tinygo-org#5963 llvm.ctlz: pico -818/-142, pico2 -754/-142, size-slice -163/-5. - tinygo-org#5973 os temp file seed: pico2 size-os -16 (opt=2 -32).
davecheney
added a commit
to davecheney/tinygo
that referenced
this pull request
Oct 22, 2026
Recent changes that let interp move startup work to compile time did not show up in TestBinarySize, so their savings went unmeasured and a regression would go unnoticed. These samples cover the RP2 targets, ESP32-C3, slice growth and os. Their sizes match on Go 1.25 to 1.27. Run against the commits before and after each change, these rows show (code/rodata bytes, opt=z): - tinygo-org#5837 RP2 PLL: pico -1308/-548, pico2 -1128/-552 (opt=2 code -5 to -6 KB). Visible only with tinygo-org#5975. - tinygo-org#5963 llvm.ctlz: pico -818/-142, pico2 -754/-142, size-slice -163/-5. - tinygo-org#5973 os temp file seed: pico2 size-os -16 (opt=2 -32).
davecheney
added a commit
that referenced
this pull request
Oct 22, 2026
Recent changes that let interp move startup work to compile time did not show up in TestBinarySize, so their savings went unmeasured and a regression would go unnoticed. These samples cover the RP2 targets, ESP32-C3, slice growth and os. Their sizes match on Go 1.25 to 1.27. Run against the commits before and after each change, these rows show (code/rodata bytes, opt=z): - #5837 RP2 PLL: pico -1308/-548, pico2 -1128/-552 (opt=2 code -5 to -6 KB). Visible only with #5975. - #5963 llvm.ctlz: pico -818/-142, pico2 -754/-142, size-slice -163/-5. - #5973 os temp file seed: pico2 size-os -16 (opt=2 -32).
Contributor
Author
|
@deadprogram @jakebailey rebased, gentle ping |
Commit 89d9e33 (interp: bail out of loops that iterate too many times) introduced a loop limit of 1000 for CLI builds. The size-test helper did not set the new option, so its limit remained zero. Use the CLI default so size tests measure the same initialization code as normal builds.
davecheney
force-pushed
the
davecheney-size-test-interpreter-limit
branch
from
October 24, 2026 02:19
e390f0d to
6f9bc48
Compare
deadprogram
approved these changes
Oct 24, 2026
deadprogram
left a comment
Member
There was a problem hiding this comment.
Thanks @davecheney now merging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit 89d9e33 (interp: bail out of loops that iterate too many times) introduced a loop limit of 1000 for CLI builds. The size-test helper did not set the new option, so its limit remained zero.
Use the CLI default so size tests measure the same initialization code as normal builds.