New blog domain: kula.blog

It's still work in progress but new posts will be published on  https://kula.blog/ Thanks to 11ty base blog RSS is working from the start so it should be easy to add to your reader if you still use any :) If now then I hope you can sign up to the newsletter where I'll be publishing new posts and interesting articles to it from time to time. Please use  kula.blog  from now on.

JS Performance

How DRY impacts JavaScript performance // Faster JavaScript execution for the lazy developer presentation by: Mathias Bynens



http://speakerdeck.com/u/mathiasbynens/p/faster-javascript-execution-for-the-lazy-developer

In my opinion most important is to write maintainable code and optimize only what needs to be optimized.
http://speakerdeck.com/u/mathiasbynens/p/faster-javascript-execution-for-the-lazy-developer?slide=49

Comments

  1. Ciekawe podejście.

    Szczególnie interesujące wydaje się wywoływanie switcha jako obiektu.

    Będę musiał sprawdzić, o ile jest to szybsze od zwykłego switcha.

    Jeśli jednak chodzi o rozwiązania w stylu
    $('.aaa').length zamiast $().size()

    to mam mieszane uczucia. Nie sądzę, aby przyspieszenie było aż tak wielkie. Natomiast ryzyko tego, że kiedyś cokolwiek się zmieni i to size() będzie czymś więcej niż tylko prostym zwróceniem length wydaje mi się wystarczająco duże (nie mówię akurat, że nagle kolekcje w JS stracą takie pole, ale ogóle jestem zdania, że lepiej jest wywoływać metodę, niż pole wprost).

    ReplyDelete
  2. Ja bym nie przesadzał jeśli chodzi o optymalizację. Kod powinien być po pierwsze łatwy w utrzymaniu.
    Jeśli chodzi jednak o .length zamiast .size() to w przypadkach gdy jakaś funkcja jest wywoływana bardzo często, powiedzmy mainloop gry, czy w setInterval itd. może to mieć znaczenie.

    Powyższe w większości stosował bym tam gdzie jest konieczne choć trzeba przyznać, że niektóre z nich są tak oczywiste, że nie ma powodu by nie stosować za każdym razem :)

    var utilFun = lib.ro.util.superFun;
    utilFun(1);
    utilFun(2);
    utilFun(3);
    utilFun(4);

    będzie bardziej czytelne i szybsze niż wersja dłuższa.
    PS. (No chyba że to IE9? :)

    ReplyDelete

Post a Comment

Comments:

Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

Safari Mobile CSS VW and VH units bug.