Décoder du H.264... en JavaScript
Le JavaScript, ce langage de script très utilisé sur Internet, n’est pas reconnu pour sa vitesse d’exécution. Et pourtant...
Un développeur de chez Mozilla a eu l’idée folle de proposer un programme en JavaScript capable de décoder des vidéos en H.264. Et ça fonctionne. Basé sur une adaptation du décodeur open source intégré dans Android, Broadway (son nom) est capable de lire des vidéos encodées en H.264 sans trop de problèmes.
La démonstration effectuée est impressionnante, mais il y a quelques inconnues : le type de processeur utilisé, la définition de la vidéo, etc. Selon son auteur, le code est entre trois et quatre fois plus lent en JavaScript qu’en C (en compilant directement le code), ce qui est plutôt une prouesse. Rappelons que le JavaScript reste un langage interprété qui a longtemps été particulièrement lent. Heureusement, depuis quelques années, les développeurs des principaux navigateurs optimisent leurs moteurs JavaScript pour la vitesse.
Terminons par un point : si c’est une démonstration technologie intéressante, elle se limite à un exercice de style. D’une part parce que le code reste bien plus lent qu’avec un langage plus classique comme le C et d’autre part parce que le décodage logiciel est de plus en plus rare pour le H.264 : les smartphones et autres tablettes décodent la vidéo avec une puce dédiée et la majorité des ordinateurs personnels disposent d’une carte graphique capable de gérer le décodage matériellement.
- AMD Catalyst 11.10 : BF3, Rage, et OpenGL corrigés
- Un Cortex A8 à moins de 5 $
- TDJ : SSD Crucial M4 128 Go
- Pas d'Android 4.0 pour le Galaxy S et la Galaxy Tab
- Battlefield 3 : les performances
- TDJ : Zalman CNPS12X
- Les pilotes et firmwares de la semaine
- Google TV : les applications et le Market
- Anonymous s'attaque à un cartel mexicain
- Un CPU ARM pour les serveurs d'HP
- Un Atom octocore pour les serveurs
- Le prochain Seagate Barracuda XT sera un hybride SSD
- L'antivirus : quel impact sur les performances du PC ?
- Doom 3 en open source : ça arrive
- Un supercalculateur avec un CPU chinois
- Et si on se chauffait au data center ?
- Seagate : Barracuda "Refresh" et fin des Green
- Tom's Guide : les téléphones des années 90






Impressionnant! A quand JSCuda
Mouais... l'initiative est amusante, mais compte tenu que le script Javascript est un langage interprété et doit donc passer par l'intermédiaire d'un autre programme (le navigateur web en l'occurrence), l'exécution d'un programme écrit dans ce langage est forcément beaucoup plus lente que son équivalent en langage compilé. La lecture de programmes en langage Java ou Javascript fonctionne sur un principe analogue à un émulateur de console pour PC ou l'ancien Virtual PC pour Mac à base de PowerPC : l'ordinateur doit préalablement traduire les instructions avant de pouvoir les exécuter. Il ne peut les exécuter nativement.
Que le lecteur H.264 en javascript soit seulement 3~4 fois plus lent qu'un programme équivalent écrit en langage natif me semble vraiment optimiste, mais quand bien même ce serait vraiment le cas, cela prouve toujours que le javascript est absolument contreproductif en dehors des pages web (où il est nécessaire pour assurer une portabilité maximale).
Ceci dit, il est bien précisé dans l'article qu'il ne s'agit que d'une expérimentation : "si c’est une démonstration technologie intéressante, elle se limite à un exercice de style". Me voilà donc rassuré...
Ben comme tu le dit si bien en fin de commentaire, c'est précisé dans l'article donc bon... Et sache que JS n'est pas que du web... Gnome 3 l'utilise aussi, tu peux refaire entièrement ton interface avec gnome 3 avec que du code JS/CSS.
Et j'ajoute que tu peux même écrire créer serveur en JS (node.js).
Selon le type d'application, la vitesse n'est pas forcément un élément important par exemple pour pas mal d'applications "bureautique".
dans le même genre, un émulateur PC x86 en javascript => http://bellard.org/jslinux/
très impressionnant