seed-rs / seed

A Rust framework for creating web apps
MIT License
3.8k stars 155 forks source link

Setup a benchmark #324

Closed kaushalyap closed 1 year ago

kaushalyap commented 4 years ago

Setup a benchmark with other WASM front end frameworks like Yew, Percy

Also add Seed to this benchmark which will allow us to compare Seed with front-end JS frameworks/libraries, currently Yew is there.

Point of benchmarking

kaushalyap commented 4 years ago

I suggest you to compare Yew with other JS frameworks using this benchmark, I think Seed will be able to do better than Yew or even better than JS frameworks/libraries, since as I read the following in here

Yew is based on stdweb that has a lot of features but also is really heavy-weight. Frameworks like seed on the other hand are based on wasm-bindgen that is focused on (mostly) "zero-cost" interaction with e.g. the. DOM etc.

MartinKavik commented 4 years ago

@seed-rs/core, @kaushalyap Is there a volunteer?

I have VirtualDOM updates in my todo list so it would be nice to compare results before and after refactor. And comparing with other frameworks would be very nice for marketing (or motivation to make it better 😃 ).

kaushalyap commented 4 years ago

@MartinKavik sorry to say currently I do not have enough free time. Hopes someone will do it.

MartinKavik commented 4 years ago

https://github.com/krausest/js-framework-benchmark/pull/696

MartinKavik commented 4 years ago

Note: Benchmark updates should be done once Seed 0.7.0 is released.

Ben-PH commented 4 years ago

Now that benchmarks are up, it would be good to update the about section on the webpage.

ctrl-f performance for the relevant part.

It might also be worth having a section on performance. Speaking from my own perspective, I'm coming from a very "low-level and systems" background and have little grasp of frontend considerations. An overview that puts the performance traits of seed into context would be quite useful for me.

MartinKavik commented 4 years ago

@Ben-PH Thanks for feedback/ideas.

I want to rewrite the content of seed-rs.org after the next release, so I'll try to add a section on performance and I'll maybe add it also into the README.

We've decided to not include it in README yet, because the main focus is still on the best public API as possible, so we don't have many benchmarks and Seed isn't very optimized yet (but the speed should be enough for the most use-cases now).

However there is a growing list of possible improvements - https://github.com/seed-rs/seed/issues/385 (see also comments and don't be afraid to recommend new ideas) and it's on our roadmap.

Ben-PH commented 4 years ago

because the main focus is still on the best public API as possible.

<3