-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Fast exceptions no sources #1097
Conversation
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.
Nice work! I think this about solves the problem completely.
This still increases incremental build time (40s -> 52s) and snapshot_deno.bin (39M -> 48M) but these are much much more reasonable than what I had.
It seems your rollup patch includes other updates. I'd like to be able to cleanly see your patch in the git log - so can you split it into two commits - one where you upgrade and another where you apply your patch? Is it possible to have package.json load from third_party/rollup instead of third_party/node_modules/rollup ? We need to be careful to separate it. Have you sent your patch upstream? Please add a comment to package.json that links to the upstream PR so we know when get back onto the mainline.
I can try. There are other commits in master that are unreleased yet. So either do a build off master, add that in, then do a build off my branch and add that in, or go to the nearest released and then do mine, which will contain some other stuff.
I don't think, but I might be wrong, that you can break out of typical module resolution that way. You can have the
Yes. rollup/rollup#2531. The only comments that are allowed with |
18474f1
to
8b9473e
Compare
@ry I updated this, but I am seeing errors in CI that just don't seem to be related to the changes here. |
@kitsonk Can you try rebasing? FYI we had a discussion about this patch today and have some concerns about the number of objects created in the snapshot - and if that will have performance impacts on GC. I think we won't land in time for the imminent v0.1.10 release. I need to research the possibility of doing the decoding in Rust ... i'll update later on. |
@ry will rebase, no problem, saw part of the chat, could be worth investigating. It is worth dumping the sources in the map no matter what, but maybe can wait until accepted upstream. |
8b9473e
to
7874ba3
Compare
@kitsonk Do you know if rollup made a release with your patch in it? I'll upgrade it if so. I think we should land this patch and see how it effects benchmark numbers. If it's notably negative we'll revert and invest in Rust sourcemap decoding. What say you @piscisaureus ? |
@ry it just released 11 hours ago with my PR merged: https://github.com/rollup/rollup/releases/tag/v0.67.0 I have time to refresh this with the released version of rollup. |
484f0f9
to
0843f14
Compare
@ry CI seems to be acting up... 403 Forbidden on accessing the cache on appveyor!? 🤷♂️ |
Pro: time ./out/debug/deno tests/error_001.ts 3.0s -> 0.4s Con: time ./tool/build.py snapshot 33s -> 1m52s out/debug/gen/snapshot_deno.bin 39M -> 121M
8beebff
to
7c76a56
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.
LGTM - Thanks!
This seems to have affected performance in start time, throughput and syscalls. |
@hayd Yes.
Overall I think this PR has been a win. However it's clear that decoding the source maps in the snapshot has negatively effected us. @kitsonk is now looking into decoding in Rust - which I think is the necessary future. |
This PR builds on top of @ry branch to try to fix #1087.
The
.map
for the bundle goes from about 9.3Mb to 1.7Mb on my machine. The only problem I have notices is that stack traces that go back totypescript.js
don't have the line numbers anymore and are reported as<anonymous>
. I can live with that personally.Requires denoland/deno_third_party#17.