question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

compare domvm with mithril, performance etc.

See original GitHub issue

I’m just found domvm, and used mithril for a long time before, now I’m doing a performance test as below, using

https://github.com/MithrilJS/mithril.js/tree/next/performance

And your mithril-adaptor

DOMVM2.1.4

rerender without changes x 358 ops/sec ±10.57% (29 runs sampled)
construct large VDOM tree x 11,796 ops/sec ±5.39% (32 runs sampled)
mutate styles/properties x 287 ops/sec ±20.81% (21 runs sampled)

Mithril 1.1.1

rerender without changes x 3,414,552 ops/sec ±6.55% (47 runs sampled)
construct large VDOM tree x 3,610 ops/sec ±4.56% (49 runs sampled)
mutate styles/properties x 10,763 ops/sec ±3.24% (51 runs sampled)

Seems the construct time is fast, but later mutate styles/properties is slow for DOMVM

But I’m wondering some lost in my test, can you have a look at the test file for DOMVM?

test-perfdomvm.zip

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:10 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
leeoniyacommented, Feb 10, 2018

hey @futurist domvm focuses on doing one thing: rendering and composing views.

domvm-router does not enable defining routes in your views, it’s simply a router i wrote, similar to existing third party routers as mentioned in the docs [1]. domvm-router does have a nice feature of generating routes from parameters, which many other routers lack. it does need some documentation, but you can see how it’s used here [2] and feel free to use any other better-documented router lib instead.

the logic of which views must to be rendered based on route can be defined in your templates, it can be as simple as:

function activeTabView() {
  if (window.location.href.indexOf("users") != -1)
    return vw(UsersView, store.users);
}

el(".tab-content", [
  activeTabView()
])

[1] https://github.com/leeoniya/domvm#what-domvm-is-not [2] https://github.com/leeoniya/domvm-router/issues/1

Read more comments on GitHub >

github_iconTop Results From Across the Web

How is Mithril Different from Other Frameworks
This page aims to provide a comparison between Mithril and some of the most ... The performance tests in the homepage show execution...
Read more >
you guys might be interested in a current Reddit thread (also ...
It seems like the performance is more or less on par with domvm as far as network usage EXCEPT for the initial bundle...
Read more >
JS web frameworks benchmark – Round 4 - Stefan Krause
It shows an impressive improvement with 87% for the edge version. Same goes for mithril which improves from being 190% slower to 83%....
Read more >
The Ultimate Guide to JavaScript Frameworks
Cycle.js. DIO. Dojo. Domvm. DoneJS. Etch. Gruu. Glimmer. Hyperapp. Hyperdom. hyperHTML. Ivi. Knockout. Maquette. Marko. Mithril.
Read more >
How to win in Web Framework Benchmarks : r/javascript - Reddit
... Mithril rewrite, domvm v2, dio, Monkberry, Inferno, kivi, Vue, etc. ... I've extensively compared it to all the other major non-virtual DOM...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found