-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Benchmarking #363
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
Comments
The Angular team has developed benchpress, a tool for running macro benchmarks on real application code and it's not limited to the Angular framework. I have not used it personally, but it looks like a good starting point. |
I was having a poke at benchpress over the weekend. I like the idea, but it's hard to use and lacks documentation. It also only works in Chrome and iOS Safari (Firefox support is coming). So automation might have to wait for another time. Instead I've put together a separate project called svelte-bench, which runs various tests across different versions and produces reports like this: There's still lots to do, but it's something to iterate on. |
Nice work! I remember I have mentioned helpers like your example I would have also liked to move things like Concatenating text nodes is already tracked in #14 and is basically also needed for generating hydration code when you want to use SSR properly. |
In reply @Rich-Harris about performance vs code size, do you think it'd be possible to have a compile time switch which will go between them? I don't know it if will make the implementation overly complex (or impossible). |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been closed as it was previously marked as stale and saw no subsequent activity. |
There are lots of changes we could make to the way that client-side code is generated — using
innerHTML
for example, or concatenating text nodes, or creating update functions like this......rather than the current approach of doing lots of book-keeping inside
renderSomeFragment
.All of these ideas, and dozens more, are likely to have trade-offs between performance generated code size. In order to make educated decisions we need a decent way to track performance across browsers between different versions, and between the last version and a particular branch.
So, given all that... where do we start? Never been terribly structured about this sort of thing, so am open to any and all ideas.
The text was updated successfully, but these errors were encountered: