Archives de
Tag: jmh

Benchmark : concaténer des listes

Benchmark : concaténer des listes

Il y a peu, je suis tombé sur ce bout de code qui concatène deux listes en utilisant la classe utilitaire Lists de Guava puis l’API Stream : Lists.newArrayList(collectionOriginal,collectionValue) .stream() .flatMap(Collection::stream) .toList(); Comme ce bout de code est dans le chemin critique de l’application et donc appelé très fréquemment, je me suis demandé si c’était la meilleure manière de concaténer deux listes. On peut concaténer deux listes de beaucoup de manières différentes : Avec le code ci-dessus Avec Stream.concat() Avec…

Lire la suite Lire la suite

Benchmark : conversion de long en byte[]

Benchmark : conversion de long en byte[]

J’utilise beaucoup Kafka ces derniers temps, et dans Kafka, beaucoup de choses sont des tableaux de bytes, même les headers ! Comme j’ai de nombreux composants qui s’échangent des messages, j’ai ajouté des headers pour aider au suivi des messages, et entre autres un header timestamp qui a comme valeur System.currentTimeMillis(). Il m’a donc fallut transformer un long en tableau de byte; d’une manière très naïve, j’ai codé ça : String.valueOf(System.currentTimeMillis()).getBytes(). Mais instancier une String à chaque création de header…

Lire la suite Lire la suite