Tu me prends pour un âne ou tu tiens à entretenir la réputation qui va avec ton pseudo ? ;)
trier une liste d'entiers selon un comparateur adhoc en Java
Typiquement tu utilises un type primitif pour faire du packing de plusieurs valeurs. Tu mets ce type primitif dans un tableau, puis tu veux le trier ou faire une dichotomie selon une valeur packée.
Comme souvent, tu ne peux spécifier un Comparator que pour des objets par ce qu'ils ne veulent pas livrer X implémentations copier/coller pour les types primitifs (merci la VM/autoboxing de merde !).
Utiliser l'autoboxing pour ca, ca veut dire payer 12 bytes d'overhead mémoire pour 4 bytes de données pour chaque élément, plus le coût CPU, plus faire exploser la génération de garbage. C'est vite risible.
En Java c'est game over tu le fais à la main et tu réécris le même code pour la millième fois. D'autres langages de la JVM sont capables de prendre en charge la génération de ce code pourri pour te le rendre transparent (y'a pas de magie non plus).
[^] # Re: quelques points
Posté par ckyl . En réponse à la dépêche De tout, de rien, des bookmarks, du bla bla #29. Évalué à 2. Dernière modification le 19 juillet 2013 à 12:38.
Tu me prends pour un âne ou tu tiens à entretenir la réputation qui va avec ton pseudo ? ;)
Typiquement tu utilises un type primitif pour faire du packing de plusieurs valeurs. Tu mets ce type primitif dans un tableau, puis tu veux le trier ou faire une dichotomie selon une valeur packée.
Comme souvent, tu ne peux spécifier un
Comparatorque pour des objets par ce qu'ils ne veulent pas livrer X implémentations copier/coller pour les types primitifs (merci la VM/autoboxing de merde !).Utiliser l'autoboxing pour ca, ca veut dire payer 12 bytes d'overhead mémoire pour 4 bytes de données pour chaque élément, plus le coût CPU, plus faire exploser la génération de garbage. C'est vite risible.
En Java c'est game over tu le fais à la main et tu réécris le même code pour la millième fois. D'autres langages de la JVM sont capables de prendre en charge la génération de ce code pourri pour te le rendre transparent (y'a pas de magie non plus).