Un benchmark en Yarn et NPM qui montre que Yarn "ça trou le cul !". Yarn est vraiment plus rapide que NPM d'un facteur 2,5 à 25 !
Je mets ici les liens vers les benchmarks des différents frameworks en JS :
Un benchmark sur les lambda par rapport aux classes anonymes :
"Enfin, le dernier constat que j'ai pu faire à travers ce benchmark est que, contrairement à ce que j'espérais, l'utilisation d'une lambda à la place d'une classe anonyme n'a pas amélioré la performance d'un tri (temps significativement identiques). L'explication semblant la plus probable selon moi est que les gains de performances annoncés sur les lambdas ne touchent jusqu'à présent que le « linkage » et la « capture » de la lambda (correspondant au « class loading » et à l'instanciation de la classe), mais pas son « Invocation ». Or, l'utilisation d'un Comparator dans une méthode de tri ne nécessite qu'une seule opération de « linkage » et de « capture », puis de nombreuses (n.log(n)) « invocations ». Donc pas d'amélioration majeure côté performance sur ce cas d'utilisation !"
La conclusion du bonhomme est sans appel => ABSOLUMENT AUCUN GAIN sans le parallelize().
Attention aussi : on compare ici les classes anonymes (qui doivent être éviter autant que possible) et les lamdbas. Mais pourquoi ne pas comparer aussi les performances des lambdas avec des classes concrètes, instanciées en singleton hein ?
Actuellement, sans les traitements parallèle, les lambda rendent votre code PLUS LENT et PLUS DIFFICILE À MAINTENIR qu'avec un simple for-each...
Voilà #CestMoche
Un comparatif de performance entre différents serveur web expressifs du type Sparkjava (en java) et Sinatra (en Ruby). Pour rappel, un serveur web expression vous permet d'écrire ce genre de choses :
get("/mon/url", monAction);
post("/mon/url", monAction);
Avec "monAction" qui peut être au choix :
- une lambda
- une instance
- un pointeur sur fonction
En résumé, nous avons les résultats suivants sur un Retina Macbook Pro i7@2.7GHz and 16GB RAM :
-
Golang + bmizerany Pat + GOMAXPROCS(7):
51684 Requests/sec => 1550508 requests in 30s -
Sparkjava:
48631.24 Requests/sec => 1458768 requests in 30s
Average Latency 1.29ms -
Golang + bmizerany Pat:
42222 Requests/sec => 1266661 requests in 30s
Average Latency 1.52ms -
Golang + Gorilla Pat (using Gorillas Muxer)
37756 Requests/sec => 1132689 requests in 30s
Average Latency 1.71ms -
PyPy2.7 Python + Twisted:
12633 Requests/sec => 379001 requests in 30s -
Python + Flask:
11751 Requests/sec => 16393 requests in 30s
Average Latency 55.54ms -
Node + Express:
8962 Requests/sec => 268866 requests in 30s
Average Latency 7.14ms -
Python + Twisted:
3425 Requests/sec => 102781 requests in 30s
Benchmark de lib JS
Les FlexBox ont de meilleurs performances que les autres mode d'affichage. Elles sont plus simple à mettre en oeuvre et interopérable/compatible avec tous les navigateurs de nos jours.
Elles s'apprennent en 4-5 jours pour un début ou une débutante en web, c'est-à-dire n'ayant jamais touché à HTML et CSS (Roudoudoutte, spourtoi).
FlexBox : faites le pas !
Écrire des benchmark facilement en Java.
Les publicités sur internet vous pourrissent la vie de plusieurs manières :
1) Elles vous importunent avec du contenu marketing.
2) Elles violent votre vie privée en déposant des cookie traceurs dans votre navigateur.
3) Elles rendent difficile la lecture des pages en ajoutant du contenu mouvant / coloré / etc.
4) Elles ralentissent votre surf de manière drastique.
Ici, un article qui mesure la vitesse de chargement d'une page web avec et sans pub. Imparable.
Un petit post sur OpenJDK (un peu vieux le post certes) mais très sympa.