Les ingénieurs chez Google viennent de trouver une solution pour accélérer les transferts adb entre un ordinateur et un terminal Android. La différence de vitesse serait énorme pour les transferts : près de 7 fois plus rapide dans certains cas.

nexus 9 fastboot

Adb est le protocole utilisé pour communiquer dans certains cas entre un ordinateur et un appareil sous Android. Les transferts se font la plupart du temps en USB et les vitesses ne sont pas forcément très rapides. Mais cela devrait changer à l’avenir, comme on peut le lire sur une discussion dans l’outil de suivi du code source d’AOSP, la base d’Android, comme le fait remarquer Edouard Marquez sur Twitter. L’idée est assez simple : augmenter la taille des paquets qui transitent via adb, afin d’avoir des paquets plus gros à envoyer, mais en plus petite quantité. L’objectif est de faire baisser la latence entre l’envoi des paquets, pour au final, augmenter les débits. Les ingénieurs ont toutefois conservé une rétrocompatibilité pour les appareils ou les ordinateurs non compatible avec ce nouveau transfert.

 

Des débits jusqu’à 6,6 fois plus élevés

En passant la taille des paquets de 4 KiB à 256 KiB, les débits en push (envoi de l’ordinateur vers le terminal) et en pull (envoi du terminal vers l’ordinateur) se sont envolés. À titre d’exemple, sur le Nexus Player (Fugu sur le tableau), les débits sont passés de 6 Mo/s en push et 5,1 Mo/s en pull à respectivement 27,9 et 33,2 Mo/s. De quoi gagner un précieux temps lors de gros transferts, mais aussi pour les bidouilleurs qui réalisent des opérations comme le changement de ROM, le flash d’une image factory ou encore les applications de sauvegarde et restauration qui utilisent adb.

new abd push pull

 

Windows, Linux, OS X : même combat ?

Les tests ont été réalisés sous Linux (x86_64) avec un transfert de 100 Mo de données. Les résultats sont donc susceptibles d’être différents selon les cas. Sous OS X, et si l’on en croit la conversation entre les ingénieurs, les transferts seraient déjà rapides, grâce à l’utilisation de paquets plus « gros » mais le nouveau code a été testé sous OS X avec des vitesses égales à celles obtenues sous Linux. Malheureusement, l’homme n’a pas indiqué les vitesses obtenues avant le nouveau code sous OS X. Enfin, pour Windows, la situation semble plus complexe, notamment à cause de l’existence de différents pilotes USB.

Pour profiter de ces nouveaux débits, il faudra attendre que les constructeurs intègrent cette partie du code AOSP à leur version d’Android.