Coder Social home page Coder Social logo

Comments (5)

jamesbrewerdev avatar jamesbrewerdev commented on April 28, 2024 1

Personally, I don't think this is a good idea. The problem is that benchmarks are misleading and contribute to the "Rails doesn't scale" nonsense that is too prevalent already.

Since you mentioned TodoMVC, let's use that as an example.

If you Google "todomvc performance", the first result (for me, at least) is: https://github.com/featurist/todomvc-perf-comparison

Now I don't know whether this is a good benchmark or not, but I'm lazy so let's assume that it is.

Here's the conclusion posted by the author of that repository:

Overall:

Mercury, Vue and Mithril are king. Elm is a close fourth, except on IE9 where it is very slow.

Ember is the slowest overall; Angular, React and Backbone are trailing too.

Here's the question we have to ask: What does this tell you?

It tells me that Mercury, Vue, and Mithril are fantastic at rendering a list of 50 items, making a change to each of those items, and then deleting each of those items.

The problem is that this is almost meaningless. There are some cases where rendering speed is the most important thing, but those cases are few and far between.

What is infinitely more important is the ability to scale your team. That means that, if your team already knows Angular 1.x, then switching to anything else requires re-training the entire team. That's a massive time sink for what is, in my experience, a very minimal gain.

There is nothing inherently bad about benchmarking, but let's make sure we're benchmarking something useful. Otherwise we're going to get users coming in, seeing that Mithril is the fastest at rendering 50 items on Chrome 36 for OS X, and deciding that they should be using Mithril based on that fact alone.

We have a responsibility to make sure we aren't helping users shoot themselves in the foot. And, in that regard, a performance matrix is the wrong way to go.

from realworld.

EricSimons avatar EricSimons commented on April 28, 2024

I agree with most of @BRWR's sentiments here in that performance comparisons will likely be super unfair, esp because of how much creative freedom RealWorld devs have when building out the apps.

However, I'm not completely opposed to implementing something like this. Does TodoMVC officially endorse/support those performance measurements? If so, how do they ensure fairness of each implementation's efficiency?

from realworld.

jamesbrewerdev avatar jamesbrewerdev commented on April 28, 2024

As far as I can tell, the benchmarks are not endorsed by TodoMVC. Nor does TodoMVC have any of their own.

from realworld.

sh-waqar avatar sh-waqar commented on April 28, 2024

@BRWR - you have made some excellent points and I agree with them. It can create some confusions for new developers and they can get some wrong impression about the framework. There is already much dispute with frameworks that which one is the "Best".

@EricSimons - No the benchmarks for TodoMVC are no officially endorsed by them, they are created by other developers.

I think it would be okay to close this issue.

from realworld.

EricSimons avatar EricSimons commented on April 28, 2024

Okay sounds good — thanks @sh-waqar! Would love to hear more suggestions from you in the future :)

from realworld.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.