Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi Stefan,
I've added benchmarks for the other 2 widely-used frameworks in PureScript to round out the complete list (Thermite, Halogen, and Pux).
Thermite is a high-level wrapper around React. It's written by the creator of PureScript. In the benchmarks, it sees roughly the same slowdown as Halogen does. Pux is an Elm-inspired framework that also relies on React. It's got a very nice monadic DSL for writing HTML, but that convenience has the problem of being essentially a linked list, making huge appending operations very inefficient. It sees a significant slowdown because of this, ultimately clocking in at ~12x slower than vanilla JS.
While I'd love to see all three of these frameworks included for the general knowledge of people considering PureScript, JavaScript (especially functional-first), and Elm, I understand if you have reservations about slowdowns here. I've spoken with the authors of each of these frameworks and there doesn't appear to be an easy way to dramatically speed them up.
The build is passing on Circle CI and I've manually verified I can run and update benchmarks:
https://circleci.com/gh/saylu/js-framework-benchmark/6
Cheers,
Thomas