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.
Ciekawe podejście.
ReplyDeleteSzczegó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).
Ja bym nie przesadzał jeśli chodzi o optymalizację. Kod powinien być po pierwsze łatwy w utrzymaniu.
ReplyDeleteJeś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? :)