Je suis curieux de savoir à ce sujet.
Je voulais vérifier la fonction qui a été plus rapide, j'ai donc créer un peu de code et je l'ai exécuté un grand nombre de fois.
public static void main(String[] args) {
long ts;
String c = "sgfrt34tdfg34";
ts = System.currentTimeMillis();
for (int k = 0; k < 10000000; k++) {
c.getBytes();
}
System.out.println("t1->" + (System.currentTimeMillis() - ts));
ts = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
Bytes.toBytes(c);
}
System.out.println("t2->" + (System.currentTimeMillis() - ts));
}
La deuxième boucle est plus rapide, alors, j'ai pensé que les Octets de la classe de hadoop a été plus rapide que la fonction de la classe String. Ensuite, j'ai changé l'ordre des boucles et puis c.getBytes() a obtenu plus rapidement. J'ai exécuté plusieurs fois, et ma conclusion a été, je ne sais pas pourquoi, mais quelque chose se passe dans ma VM, après le premier code à exécuter pour que les résultats deviennent plus rapides pour la deuxième boucle.