AstroQuest

Spark Sheets

Un tableur qui ouvre un classeur de 7 millions de cellules et le réexporte à l’octet près. Spark Sheets calcule dans un moteur Rust compilé en WebAssembly et range ses cellules en colonnes plutôt qu’en objets. C’est ce qui lui permet d’ouvrir de vrais classeurs d’entreprise, macros comprises, et de ne réécrire à l’export que les feuilles que vous avez touchées.

Chiffres clés

  • 340 fonctions au catalogue : lois de probabilité, régression, matrices, finance obligataire…
  • ×8 moins de mémoire par cellule : 13 octets contre ~106 mesurés pour un objet ordinaire
  • 23,4 Mo réexportés à l’octet près : classeur réel de 39 feuilles et 7 M de cellules, sans modification

Avant et maintenant

  • Mémoire par cellule : 106 octets avant, 13 octets maintenant (8,2 fois mieux). rangement en colonnes contre un objet par cellule.
  • Sauvegarde d’un grand classeur : 22,7 s avant, 2,5 s maintenant (9,1 fois mieux). calcul parallèle en Rust contre chemin JavaScript, classeur de 23,4 Mo (mesure du 22/08).
  • Ordre de calcul, 400 000 cellules : 1,3 s avant, 151 ms maintenant (8,4 fois mieux). construction qui a cessé d’être quadratique (24/08).

Comment ça marche

  • Importer en colonnes. Les feuilles sont découpées en blocs ; chaque cellule tient en 13 octets, sans objet ni clé texte.
  • Calculer en Rust. Le moteur compilé en WebAssembly construit l’ordre de calcul et évalue les formules, matricielles comprises, hors du fil principal.
  • Sauvegarder compact. Les blocs sont encodés en colonnes, compressés, et rangés dans le format compact Regic.
  • Exporter sans réécrire. Une feuille que vous n’avez pas modifiée est recopiée telle quelle : zéro feuille réécrite, fichier identique à l’entrée.

Ce qui n’est pas parfait

  • Les temps d’import, de sauvegarde et de réouverture datent du 22/08/2026 et n’ont pas été repris depuis ; ils dépendent de la charge de la machine.
  • Sur 16 760 formules de six classeurs métier, 6 sont refusées : c’est un choix documenté, pas un oubli.
  • Un format de stockage « aligné » décodait 14,7 fois plus vite mais grossissait les fichiers de 372 % : mesuré, puis écarté.

Source des chiffres

Document du dépôt AstroQuest : docs/02-applications/spark/sheets/README.md. Mesures internes, en développement, sur fichiers réels : des ordres de grandeur, pas des garanties.

Questions fréquentes

Que fait la technologie « Spark Sheets » d’AstroQuest ?

Spark Sheets calcule dans un moteur Rust compilé en WebAssembly et range ses cellules en colonnes plutôt qu’en objets. C’est ce qui lui permet d’ouvrir de vrais classeurs d’entreprise, macros comprises, et de ne réécrire à l’export que les feuilles que vous avez touchées.

Quelles sont les limites de « Spark Sheets » ?

Les temps d’import, de sauvegarde et de réouverture datent du 22/08/2026 et n’ont pas été repris depuis ; ils dépendent de la charge de la machine. Sur 16 760 formules de six classeurs métier, 6 sont refusées : c’est un choix documenté, pas un oubli. Un format de stockage « aligné » décodait 14,7 fois plus vite mais grossissait les fichiers de 372 % : mesuré, puis écarté.