Bench
Paneflow livre son travail de performance avec des chiffres, pas des adjectifs. Chaque suite ci-dessous tourne sur une référence commitée et sur le dernier commit, sur la même machine, depuis un script du dépôt. Le pipeline du terminal ouvre la série ; d'autres suites suivront.
- 1Réveils au repos, panneau d'affichage seul98 % 64,0×
- 2Publication à l'écho d'une frappe, panneau 220×6095 % 20,0×
- 3Lecture du texte d'une ligne, panneau 220×6092 % 11,8×
- 4Réveils au repos, shell à son invite86 % 7,11×
- 5Cadenceur de publication sur un filet de sortie75 % 4,00×
- 6Débit sur le corpus74 % 3,87×
- 7Résolution de la police de base, par image50 % 2,00×
- 8Publication au défilement, panneau 120×4050 % 1,98×
- 9Publication au défilement, panneau 220×6036 % 1,56×
- 10Passe de mise en page, panneau 220×609,9 % 1,11×
Pipeline du terminal
Des octets du PTY jusqu'à la mise en page que le moteur de rendu dessine : instantané et conversion de la grille au défilement et à l'écho d'une frappe, passe de mise en page sans fenêtre, lectures que le thread de rendu fait à chaque image, cadencement des publications sur un filet de sortie, débit sur le corpus, et fréquence des réveils d'un panneau au repos. Les temps sont des médianes en profil release ; les comptes d'allocations sont exacts.
Toutes les métriques
Référence et dernière exécution côte à côte : valeur principale, p95 quand la métrique en a un, et allocations par itération.
| Métrique | Référence | Dernier | Variation | p95 | Alloc/itér., référence | Alloc/itér., dernier |
|---|---|---|---|---|---|---|
| Publication au défilement, panneau 220×60 | 700,7 µs | 448,0 µs | -36,1 % 1,56× | 863,6 µs → 465,7 µs | 2,70 MiB | 266 B |
| Publication à l'écho d'une frappe, panneau 220×60 | 166,0 µs | 8,3 µs | -95,0 % 20,0× | 196,2 µs → 8,6 µs | 1,41 MiB | 106 B |
| Publication au défilement, panneau 120×40 | 324,8 µs | 163,8 µs | -49,6 % 1,98× | 377,1 µs → 169,8 µs | 1,02 MiB | 242 B |
| Passe de mise en page, panneau 220×60 | 515,8 µs | 464,9 µs | -9,9 % 1,11× | 632,3 µs → 481,3 µs | 164,8 KiB | 164,8 KiB |
| Lecture du texte d'une ligne, panneau 220×60 | 7,1 µs | 600 ns | -91,5 % 11,8× | 9,1 µs → 600 ns | 4,3 KiB | 1,9 KiB |
| Résolution de la police de base, par image | 200 ns | 100 ns | -50,0 % 2,00× | 200 ns → 100 ns | 152 B | 0 B |
| Lecture du thème actif, par image | 100 ns | 100 ns | +0,0 % 1,00× | 100 ns → 100 ns | 0 B | 0 B |
| Cadenceur de publication sur un filet de sortie | 1 000 images pour 1 000 morceaux | 250 images pour 1 000 morceaux | -75,0 % 4,00× | s.o. | s.o. | s.o. |
| Débit sur le corpus | 0,2 MiB/s | 0,9 MiB/s | +287,0 % 3,87× | s.o. | 1,52 MiB | 2,8 KiB |
| Réveils au repos, panneau d'affichage seul | 64 réveils/s | 1 réveils/s | -98,4 % 64,0× | s.o. | s.o. | s.o. |
| Réveils au repos, shell à son invite | 64 réveils/s | 9 réveils/s | -85,9 % 7,11× | s.o. | s.o. | s.o. |
D'autres suites suivront, chacune avec sa référence commitée et ses exécutions archivées, dans le même format.