docs: add before/after performance comparison to no-root report
Concrete measurements taken 2026-04-14 on the same Qwen3-4B .pte and the same C++ runner — only the invocation path differs (subprocess su -c vs in-process LlmModule JNI). Confirms no LLM regression and a measurable speedup on the TTS path thanks to the shared QNN context (Talker 37 ms/step vs 45-65 ms/step before). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6c7746c5d0
commit
7dc6704e95
|
|
@ -334,3 +334,29 @@ Backup disk : `/home/alf/kazeia_backup_20260414/`.
|
|||
|
||||
- `f32b5dd` (LLM no-root: validate end-to-end pipeline, fix kv_io_bit_width detection)
|
||||
- `b57719f` (LLM: filter <think> tokens out of the streaming TTS path)
|
||||
|
||||
### 10.8 Comparaison de performances avant/après
|
||||
|
||||
Mesurée le 2026-04-14 sur le même `.pte` Qwen3-4B avec le même runner C++ —
|
||||
seule la voie d'invocation change (subprocess `su -c` vs `LlmModule` JNI
|
||||
in-process).
|
||||
|
||||
| Métrique | Avant (su-c subprocess) | Après (in-process LlmModule) | Delta |
|
||||
|---|---|---|---|
|
||||
| LLM gen rate | 18.3 tok/s | 17.2 tok/s | -6 % (bruit) |
|
||||
| LLM prefill speed | 52 ms / prompt-token | 52 ms / prompt-token | identique |
|
||||
| LLM TTFT (prompt 35 tok) | 1.8 s | 1.8 s | identique |
|
||||
| LLM TTFT (prompt 80 tok, system+ChatML) | ~4.1 s | 4.2 s | identique |
|
||||
| TTS Talker(.pte) | 45-65 ms / step | 37 ms / step | +25-40 % (contexte QNN partagé) |
|
||||
| TTS CP(.pte) | 65-157 ms / step | 73 ms / step | +10-50 % |
|
||||
| TTS load au boot | 26.7 s | 4.3 s | **6× plus rapide** (plus de subprocess Hexagon 12 s) |
|
||||
| `LlmModule.load()` au boot | n/a (subprocess à la demande) | 3.1 s (one-time) | overhead init |
|
||||
| App RSS | ~2 GB app + 1.76 GB subprocess séparé | ~3.7 GB process unique | mêmes ressources globales |
|
||||
| Erreurs DSP 6031/6033 en concurrence | régulières | disparues | architectural |
|
||||
| Prompts Magisk | 5 / tour | **0** | UX net |
|
||||
| Taille APK | ~100 MB | ~100 MB (libexecutorch_jni.so 192 MB → 8.5 MB après strip à l'install) | négligeable |
|
||||
|
||||
**Conclusion** : pas de régression LLM (perf identique, le runner C++ est le même).
|
||||
Gain net sur la TTS (Talker 25-40 % plus rapide grâce au contexte QNN partagé,
|
||||
load 6× plus rapide). Architecture plus propre : un seul process, un seul runtime
|
||||
QNN, plus de contention DSP, plus de prompts root.
|
||||
|
|
|
|||
Loading…
Reference in New Issue