BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Dart 1.4 introduit de Nouveaux Outils pour l'Analyse de Performance

Dart 1.4 introduit de Nouveaux Outils pour l'Analyse de Performance

Google a sorti la version 1.4 de son langage de programmation web open source Dart. La release contient un nouvel outil pour l'analyse de performance nommé Observatory, ainsi que les références ServerSocket, une nouvelle fonctionnalité expérimentale dans dart:io.

Dans la documentation de publication de l'outil, Google indique qu'Observatory "vous permet de jeter un oeil à la demande à l'intérieur d'une machine virtuelle (VM) Dart et fournit en temps réel des rapports immédiats sur les données". Parmi les fonctionnalités d'Observatory, il y a la possibilité de déterminer où une application passe son temps, d'examiner la mémoire allouée, et de voir quelles lignes de code se sont exécutées.

Le contributeur Dart Kevin Moore a annoncé Observatory dans son article Dart 1.4 Brings Deep Visibility to Run Applications, et dit qu'Observatory "continuera d'évoluer et de s'améliorer dans des versions futures". Moore indique que les contributeurs regardent déjà le support du mobile, qui permettrait aux utilisateurs de débugger une appli dart s'exécutant sur un téléphone, et qu'ils travaillent activement au support des Managed VMs dans le Cloud.

L'annonce de cette nouvelle mouture a bien été accueillie par la communauté de développeurs Dart, les "Dartisants". Róbert Tóth, développeur de DartRocket, un moteur de jeu HTML5, a dit :

Je viens de tester ça sur mon jeu exemple et ça m'a vraiment aidé à voir comment le jeu s'exécutait, bien que j'ai trouvé embêtant de devoir rafraîchir manuellement. Je n'ai jamais vraiment apprécié faire du profiling, mais là c'était facile à utiliser et utile.

Dan Schultz, développeur en chef pour Mixbook a ajouté aux commentaires. Mixbook fait l'actualité en novembre de l'année dernière avec l'annonce qu'ils avaient rejeté autant JavaScript que TypeScript en faveur de Dart pour la réalisation de leur outil de création de livres-photo. Schultz a déclaré :

C'est un excellent début. Mais afin d'être utile, il faut réellement un support pour la découverte de fuites mémoires ainsi que le profiling du temps d'exécution des fonctions. Selon mon expérience, les fuites mémoires dans Dart ont le plus de chance d'apparaître autour des observers, des streams et en faisant circuler des lazy iterables. Tout outil qui pourrait aider à détecter ces problèmes serait utile.

John McCutchan, la force vive derrière Observatory, a déclaré à InfoQ

Dans le futur, nous fournirons des informations détaillées pour les applications serveurs, par exemple combien de connexions HTTP on a à ce moment et combien de bandes passantes chacune d'elle a utilisé. Nous fournirons plus de possibilités pour que les programmes se branchent dans Observatory et montrent des données personnalisées. En général, nous continuerons d'étendre ce que vous pouvez introspecter d'un programme Dart depuis Observatory.

A part l'analyse de performance, la 1.4 apporte aussi d'autres mises à jour. En parlant à InfoQ, Moore a dit que la fonctionnalité expérimentale des références de ServerSocket dans dart:io avait le potentiel de drastiquement améliorer la performance.

Adressant la fonctionnalité dans le groupe de discussion Dart Divers sur dartlang.org, Anders Johnsen a insisté sur le fait que c'était encore "très expérimental" mais que c'était "une nouvelle fonctionnalité importante pour ajouter de la valeur aux isolates dans le contexte de dart:io". Il a dit :

Une référence ServerSocket peut être acquise depuis un ServerSocket et transférée à d'autres isolates. A partir de cette référence, il est possible de créer un clone du ServerSocket original qui partagera le même socket natif. Cela rend possible l'acceptation de connexions entrantes par des isolates multiples, sur la même interface réseau.

Google a aussi inclus dans la 1.4 des mises à jour de l'Éditeur Dart. Les notes de mise à jour pour cette version mentionnent que la vue "Expressions" de l'éditeur fonctionne maintenant pour les applications en ligne de commande lors du debugging. Les autres améliorations incluent le support du refactor "Renommer" depuis l'éditeur HTML, une correction rapide pour remplacer une création d'instance via new par un const là où une constante est attendue, et la configuration de lancement Pub Serve qui supporte maintenant le debugging. La mise à jour apporte aussi à Dart Editor la complétion de code pour les attributs de directives Angular.

Dans le cœur du SDK, dart:convert et dart:collection ont reçu des mises à jour. Les notes du premier indiquent que "le JsonEncoder a maintenant un constructeur withIndent pour créer de belles sorties", tandis que dart:collection inclut de "nouvelles classes Map : MapBase, UnmodifiableMapBase, MapView, UnmodifiableMapView".

Moore indique que l'équipe Dart accueille les contributions, et que Dart est un "projet communautaire". Les lecteurs InfoQ cherchant à contribuer à Dart peuvent aider en rapportant les bugs et en répondant aux questions sur StackOverflow, ainsi qu'en contribuant du code. Plus d'information sur la contribution à Dart ici.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT