million icon indicating copy to clipboard operation
million copied to clipboard

Add Million.js to js-framework-benchmark

Open stan-kondrat opened this issue 4 years ago • 16 comments

Is your feature request related to a problem? Please describe. Local benchmark on my machine is 3 times slower relatively to others, million results similar to virtual-dom.

Describe the solution you'd like Add cpu/memory/os and browser version to benchmark page

Describe alternatives you've considered Use external service for benchmarking or allow user to post here results and then collect them to benchmark page, for example:

MacBook Air M1, 8 GB, Safari v14.1.1:

million x 26,400 ops/sec ±0.69% (24 runs sampled)
virtual-dom x 21,543 ops/sec ±0.54% (65 runs sampled)
vanilla x 3,865 ops/sec ±0.94% (24 runs sampled)
baseline x 81,198 ops/sec ±2.52% (16 runs sampled)
Fastest is baseline

stan-kondrat avatar Jun 19 '21 14:06 stan-kondrat

It seems like this is not an difference with your machine, a newer update of million has made it slower. In regards to the external service - I'm not sure of anything that could provide some functionality like this. Investigating now

aidenybai avatar Jun 19 '21 19:06 aidenybai

Results for google chrome looks good

https://million-benchmarks.netlify.app/

MacBook Air M1, 8 GB, Google Chrome v91.0.4472.106:

list-render:
million x 24,017 ops/sec ±9.10% (22 runs sampled)
virtual-dom x 18,777 ops/sec ±11.24% (47 runs sampled)
vanilla x 8,669 ops/sec ±0.74% (48 runs sampled)
baseline x 19,539 ops/sec ±0.48% (20 runs sampled)
Fastest is million

stan-kondrat avatar Jun 19 '21 19:06 stan-kondrat

Interesting - I might be mistaken then.

aidenybai avatar Jun 19 '21 19:06 aidenybai

Also, it would be very helpful if you had time to add million.js to js-framework-benchmark https://krausest.github.io/js-framework-benchmark/current.html

stan-kondrat avatar Jun 19 '21 19:06 stan-kondrat

@aidenybai ill do this when I get home

willdoescode avatar Jun 19 '21 19:06 willdoescode

CPU should not be needed as the CPU would proportionally effect all other frameworks and libraries we are benchmarking against but I will look into getting millionjs onto external benchmarking sites as well as benchmarking different browsers.

willdoescode avatar Jun 19 '21 23:06 willdoescode

i'll be taking this on 👍

andrewn6 avatar Jun 19 '22 19:06 andrewn6

@anddddrew Just as a guideline for this issue, you'll need to fork https://github.com/krausest/js-framework-benchmark.

They have some specific rules you need to follow, let me know if you need any help with the benchmarks :)

aidenybai avatar Jun 20 '22 01:06 aidenybai

Hey @anddddrew, just pinging to see if there are any updates or if you need any help with this task. If you're not available, no worries, I can take over this issue

aidenybai avatar Jul 31 '22 03:07 aidenybai

If anyone has any questions about the rules or details on what works well in the benchmark I'm open to answering them. I'm very familiar with this benchmark.

Also specifically because this is a VDOM library I'd look at this benchmark too: https://localvoid.github.io/uibench/

ryansolid avatar Jul 31 '22 04:07 ryansolid

Spoke to @anddddrew yesterday - he wasn't able to get around to this, but I started working on it yesterday (see here) and plan on finishing tonight. Will post here/dm if I have any questions!

jasonappah avatar Jul 31 '22 19:07 jasonappah

Update: we're close! Expect a PR from @jasonappah sometime in the next 24h!

aidenybai avatar Aug 02 '22 05:08 aidenybai

Just created https://github.com/krausest/js-framework-benchmark/pull/1074 :)

jasonappah avatar Aug 02 '22 12:08 jasonappah

https://github.com/krausest/js-framework-benchmark/pull/1074 is still a draft, right?

frederikhors avatar Aug 21 '22 20:08 frederikhors

Yes, still a draft

aidenybai avatar Aug 21 '22 21:08 aidenybai

If keyed isn't working it may be an implementation issue in million vdom I suspect. I think it's okay to go with non-keyed for now so we at least have some initial benchmarks @jasonappah.

aidenybai avatar Aug 25 '22 17:08 aidenybai

we did it!!

aidenybai avatar Mar 10 '23 19:03 aidenybai