Repository navigation
Conversation
added 3 commits
October 30, 2026 19:46
The program-wide island seed carried every module's source text as a
string literal in one dict, so the binary held about 10.6 MB of Python
source and the runtime compiled that blob at startup (0.22 s) and kept
it resident (about 28 MiB).
The seed is now three parts: a small finder bootstrap, a marshalled
index of {name: (origin, is_package, offset, length)}, and a body blob
of per-module deflated code objects. The runtime hands the last two to
the bootstrap through the __pyscriptc_seed__ module, and the finder
inflates and unmarshals one module body per import, so a run touches
only the pages of the modules it imports.
The optimizer level is pinned to 0 at build time so the bytecode does
not depend on how the compiler was invoked. The module origins stay
compile-time paths, as before, so a traceback names the same file and
line it did when the source was compiled at run time.
Deploying pyscriptc with
|
| Latest commit: |
ebc8887
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://250b095f.pyscriptc.pages.dev |
| Branch Preview URL: | https://work-lazyseed.pyscriptc.pages.dev |
added 5 commits
November 2, 2026 05:53
added 4 commits
November 2, 2026 11:52
…he bytecode island seed Both sides repinned the self-host census, so the merge takes the sum: the runtime-linked manifest check and the bytecode island seed land at 3302 self-host fences.
… island seed The runtime-linked stdlib manifest check adds 7 self-host fences in stdlibzip.py, so the bytecode-seed branch's census pin had to be recomputed against the merged tree. The merged tree measures 3302 fences and the same package sum; the pin moves with a comment that names every delta.
This branch has not been deployed
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.
Part of the yt-dlp composite goal. Base is
work/ytbench(#796).The program-wide island seed carried every module's source as a string literal, and the runtime compiled it at startup. It now carries per-module marshalled, deflated bytecode, loaded on first import through a meta-path finder. The optimizer level is pinned to 0 at build time so the bytecode keeps the same semantics as the source path.
Composite on the frozen runner (min of 7 interleaved samples), geometric mean over 11 dimensions:
Startup fell from 1.08 s to 0.40 s for
--versionand RSS from 163 MiB to 55 MiB. The pass rule is below 1.0 against both baselines with no dimension worse than 2x. V-minimal meets the first part. The remaining dimension over 2x isfiles_nagainst B2 (a 153 file tree against one file), andinstall_bytesandartifact_bytesagainst B2 sit at 1.9x. A onefile mode is the next lever.Semantics: the
-v --simulate -jextract output matches B1 byte for byte except the wall-clockepochfield.tests/test_island_program.py,tests/test_plane_split.pyandtests/test_fallback_definitions.pypass unchanged.Cost: the compiler now compiles every island module at build time. Boxed ledger on this tip reads churn 53.9 percent because the new commit and its tests are a tiny window; re-measure at the boundary.
Details in
.agents/notes/(lazy seed note).🤖 Generated with Claude Code