Performance du SDK SotoPDF

Tests de performance et validation du module WebAssembly pour le traitement PDF 100% local.

104 Tests
100% Succès
6 Modules
<500ms Temps moyen

Résumé des tests

Tests Lib

PASS
10

Tests internes du module

Tests Unitaires

PASS
45

Tests des opérations PDF

Tests Validation

PASS
37

Tests edge cases & erreurs

Tests Stress

PASS
12

Tests de performance

Couverture par module

Module Fonction Tests Status
📄 Merge
Fusionner plusieurs PDFs en un seul 14 ✓ 100%
✂️ Split
Diviser un PDF en pages individuelles 7 ✓ 100%
🗑️ Delete
Supprimer des pages spécifiques 12 ✓ 100%
📤 Extract
Extraire des pages sélectionnées 10 ✓ 100%
💧 Watermark
Ajouter un filigrane texte 18 ✓ 100%
🔒 Metadata
Lire et supprimer les métadonnées 22 ✓ 100%
Total 104 ✓ PASS

Performances

📄 Fusion (Merge)

Scénario Taille Temps
10 PDFs (1 page) ~50 KB 49 ms
50 PDFs (1 page) ~250 KB ~100 ms
100 PDFs (1 page) ~500 KB ~200 ms
10 x 5MB ~50 MB 469 ms
Limite testée 488 MB 2.4 s

✂️ Division (Split)

Scénario Pages Temps
PDF standard 50 ~100 ms
PDF moyen 100 ~200 ms
PDF volumineux 500 502 ms

💧 Filigrane (Watermark)

Scénario Pages Temps
Document court 50 ~100 ms
Document moyen 100 ~200 ms
Document long 500 490 ms

🔒 Métadonnées

Opération Champs Temps
Lecture métadonnées 8 <5 ms
Suppression standard 8 <10 ms
Suppression + XMP All <20 ms

Exemple de workflow complet

📄
10 PDFs
10 pages/PDF
📄
Merge
49 ms
💧
Watermark
37 ms
📤
Extract
19 ms
🔒
Clean Meta
5 ms
Temps total : 110 ms

Spécifications techniques

Capacités

  • Fichiers jusqu'à 488 MB testés
  • Jusqu'à 500 pages par document
  • Fusion de 100+ fichiers simultanés
  • Performance linéaire O(n)
  • Traitement 100% local (WebAssembly)

Limitations connues

  • PDFs chiffrés non supportés
  • Formulaires XFA non supportés
  • Filigrane texte uniquement (Helvetica)
  • Pas de compression automatique
  • Limité par la mémoire du navigateur

Note : Ces résultats sont basés sur des tests effectués en Décembre 2025 avec Rust/WebAssembly compilé avec wasm-pack. Les performances peuvent varier selon le navigateur et le matériel utilisé.