-
Notifications
You must be signed in to change notification settings - Fork 212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(swingset): boot xs-worker vats using snapshots from snapstore #2370
Conversation
b1bd181
to
575dfb8
Compare
Ouch... the size of the compressed snapshot is different between nodejs 12.x and 14.x. Maybe ziplib was refined? The sha512 of the uncompressed snapshot didn't change, though... is that close enough, @warner ? |
d9f9918
to
5ac3db1
Compare
b6f5f29
to
b641d27
Compare
Yeah, let's define the snapshot ID as the hash of the uncompressed file. That's not quite as convenient as hashing the compressed version, but it's more appropriate, and would let us change the compression algorithm in the future without inadvertently changing the IDs. |
p.s. for follow-up, see #2776 |
308c4ff
to
c9341d4
Compare
@warner I brought this back up-to-date. No callers of |
704f798
to
90d90f3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice.
This is an initial snapstore API integrated with the
xs-worker
vat manager factory.In rough measurements over the swingset tests, it saves 40% over running without snapshots (2:29 vs. 3:59).
XXX enhances
test:xs-worker
to run all swingset tests withSWINGSET_WORKER_TYPE=xs-worker
. 3 tests seem to fail, currently:Recall that
test:xs
is currently option, so these don't block merges.ref #2273
I'd like to say "fixes..." but #2273 includes discussion of kernel DB state, taking snapshots after the initial supervisor bootstrap, etc.