Skip to content
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

Performance and benchmarks? #13

Closed
leeoniya opened this issue Feb 3, 2017 · 7 comments
Closed

Performance and benchmarks? #13

leeoniya opened this issue Feb 3, 2017 · 7 comments
Labels
outdated Forgotten lore website hyperapp.dev

Comments

@leeoniya
Copy link

leeoniya commented Feb 3, 2017

Hey @jorgebucaran

The docs seem to lack any mention of "blazing fast" or similar :D

Do you have any of the common benchmarks implemented to know where hyperapp fits into either [1] or [2]?

[1] https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts/table.html
[2] http://mathieuancelin.github.io/js-repaint-perfs/

@jorgebucaran
Copy link
Owner

jorgebucaran commented Feb 3, 2017

@leeoniya Thanks! I sent a PR to the js-repaint-perfs repo, let's hope to see it merged.

The good news are, benchmarks indicate that HyperApp is on the fast track. Careful examination of the gif seems to favor the following order for this particular test.

Inferno/HyperApp → Elm/CycleJS+Snabbdom/VueJS → morphodom

Inferno seems to do slightly better, but both Inferno and HyperApp outmatch Cycle/Vue and morphodom (but not by much). Morphodom is particularly slow though.

2017-02-03 13 55 46

I think even faster than that is domvm, vidom, maybe mithril?

@jorgebucaran jorgebucaran added the docs You read it here first label Feb 3, 2017
@jorgebucaran jorgebucaran changed the title performance? Performance? 🚀 Feb 3, 2017
@sotojuan
Copy link

sotojuan commented Feb 4, 2017

The docs seem to lack any mention of "blazing fast" or similar :D

Probably a positive thing. In 2017 sufficient performance is a given—I care more about ergonomics and fun.

@leeoniya
Copy link
Author

leeoniya commented Feb 4, 2017

2017 sufficient performance is a given

certainly you don't need to be the fastest. but it helps to assure people you're not the slowest either. nothing wrong with objectivity, regardless of what year it is.

mobile performance differences are still enormous between libs. disclaimer: i've got a pretty fast horse in the game, too [1] ;)

[1] https://github.com/leeoniya/domvm

@sotojuan
Copy link

sotojuan commented Feb 4, 2017

I guess I'm just tired of new libraries claiming they're "blazing fast!!111!!!!" and focusing on that instead of other features. I mean IDK, Backbone was fast enough for me 😅

@leeoniya
Copy link
Author

leeoniya commented Feb 4, 2017

yeah, the original comment was meant to be tongue-in-cheek for this reason.

nevertheless, the benchmarks are hugely helpful (even if just to catch accidental lib perf regressions). if you can believe it, there are apps out there for which Backbone is grossly insufficient. if you've never had perf issues with Backbone, no one is prying it or jQuery from your hands, heh 😆

@jorgebucaran
Copy link
Owner

Going to close here in favor of #75.

@jorgebucaran
Copy link
Owner

jorgebucaran commented Aug 31, 2018

V2's new patch algorithm (based on Superfine) is signifcantly faster than V1. Here are the benchmark results. To maximize performance, the benchmarked example app makes use of memoization to boost the rendering perf of table rows that are not affected by state changes. This technique will eventually make it into core as described in #721.

Superfine

Repository owner locked as resolved and limited conversation to collaborators Aug 31, 2018
@jorgebucaran jorgebucaran changed the title Performance? 🚀 Performance and benchmarks? Sep 1, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated Forgotten lore website hyperapp.dev
Projects
None yet
Development

No branches or pull requests

3 participants