GithubHelp home page GithubHelp logo

Speed tests about engine HOT 6 CLOSED

pyrsmk avatar pyrsmk commented on July 19, 2024
Speed tests

from engine.

Comments (6)

EliSnow avatar EliSnow commented on July 19, 2024

jleider had a fork of slickspeed (https://github.com/jleider/slickspeed) which runs each selector 20 times and reports the aggregate time. I have used this version on my own personal website to test Engine, and I have to say it is much more useful.

Having said that, it is not as flexible as I would like, and I think it could still use some changes. For example, I would like the user to be able to dynamically add/remove selectors from the test, toggle querySelectorAll, etc. Even better I would like to see a cross between jsperf.com and slickspeed.

pyrsmk, if you wanted to fork your own slickspeed, that would be great and I would support you where I can.

from engine.

pyrsmk avatar pyrsmk commented on July 19, 2024

I had test his fork this morning but it totally fails with me. Don't know why...

For the functionnalities that interest you, why dynamically add/remove selectors or toggle some js engine functions? Is it to provide better benchmarking?

I don't know jsperf.com, have you a screenshot of the test results?

In fact, with my slickspeed tests I've noticed that Slick needs 2 arguments for the functions and not only one... Moreover, I think we must to include context search support to the benchmark for a more realistic speed test.

Anyway, for all of this, a fork will be weak and painful to develop with... We could create a new repo for that... Do you know other js tools which we could inspired from?

from engine.

EliSnow avatar EliSnow commented on July 19, 2024

You can check out any of the tests people have made on jsperf (http://www.jsperf.com/browse). Here is one I made for engine (http://jsperf.com/engine-vs-sizzle-jquery). It's a pretty handy tool which utilizes the benchmarkjs framework (http://benchmarkjs.com/). The only problem with benchmarkjs is it tests speed but not the accuracy of the results. It would take a little bit of work but I'm sure benchmarkjs can be combined with slickspeed.

I am not sure why you can't get jleider's slickspeed fork working, it works for me.

Being able to toggle document.querySelectorAll would allow us to check the performance of a selector engine's internals. Dynamically adding/removing selectors to the test would be a handy feature for those who want to test a specific selector.

from engine.

pyrsmk avatar pyrsmk commented on July 19, 2024

I like these tests, it's exactly what I would as speed results within Slickspeed. As you said, combined with Slickspeed accuracy, it will be "perfect".

Ah, "toggle" in this way... Sorry but I'm french, so my english level is not good enough yet ^^ Then, I'm agree with you, querySelectorAll must be included in the benchmark. Moreover, it is very easy to implement.

In Slickspeed you can already modify selectors to test within the selectors list file :)

from engine.

EliSnow avatar EliSnow commented on July 19, 2024

Yes there is the selectors.list file, but what I mean by dynamically adding selectors is allowing the user (not necessarily the developer) to enter selectors to add in to the test after the page loads. For example, if the selectors.list file had the selectors "body", "div", and "div p", the user could add "div ~ p". Or if they do not care about "body, "div" and "div p" they could remove those selectors from the test. All of this manipulation would happen with javascript and are not changes in the selectors.list file.

Hope that makes sense.

from engine.

pyrsmk avatar pyrsmk commented on July 19, 2024

It makes sense :)

And we can also add the hability to the user to include his own HTML file otherwise he should known how the basic file is structured, by this way he may choice the perfect engine for his website.

from engine.

Related Issues (5)

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.