marko-js / marko

A declarative, HTML-based language that makes building web apps fun
https://markojs.com/
MIT License
13.25k stars 643 forks source link

Add Marko to browser repaint benchmark "js-repaint-perfs" #993

Closed maxmilton closed 2 years ago

maxmilton commented 6 years ago

New Feature

Description

This is not so much a feature request but more of a general suggestion. Add a Marko implementation to https://github.com/mathieuancelin/js-repaint-perfs. js-repaint-perfs is a performance benchmark to test various JS libraries ability to update the DOM.

Why

It's really interesting to see the libraries in a head-to-head benchmark. Would be very interesting to see where Marko slots in, especially since DOM performance is something Marko is touted as being particularly good at.

Could also be a fun way for users to learn more about Marko performance.

Possible Implementation & Open Questions

I'm keen to have a go eventually once I have some time but if someone else beats me to it, it's no prob. It would be a fun quick side project :smile:

Is this something you're interested in working on?

Yes

maxmilton commented 6 years ago

I've also created an issue in the js-repaint-perfs repo for cross reference: https://github.com/mathieuancelin/js-repaint-perfs/issues/127

maxmilton commented 6 years ago

For reference if anyone is interested there's also another head-to-head benchmark over at http://www.stefankrause.net/js-frameworks-benchmark7/table.html. Plus repo at https://github.com/krausest/js-framework-benchmark.

It's particularly interesting as the results are very different to the benchmarks presented on markojs.com, in this benchmark Marko actually falls below many of the popular frameworks.

There's likely opportunity to improve the code over at that benchmark too (for example to submit a non-keyed version).

jasonmacdonald commented 6 years ago

@MaxMilton Looking at JS-Paint repo, it doesn't appear to be maintained anymore, or at least not kept up-to-date with current framework versions. I'm not sure how much value there is in trying to get Marko added there.

The js-frameworks-benchmark is certainly more up-to-date and we probably should have a look at what they are doing to ensure it's properly optimized. When looking at their more recent beta version, it clearly shows there's something seriously wrong with their Marko implementation. But, it's also possible they have not yet addressed certain frameworks, so it could change with time.

vaheqelyan commented 5 years ago

any updates?