Couche de donnees, etape 1 : resultats (lecture a froid ~6 s, analyse Blueprint ~6 s par passage)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4dfb70ed24
commit
b982bd7d58
1 changed files with 29 additions and 1 deletions
|
|
@ -502,4 +502,32 @@ Rappels :
|
|||
|
||||
Au menu principal, seuls 11 fichiers sont lus (0,085 s) : la lecture de `Modules` a lieu au lancement d'une partie.
|
||||
Instrumentation ajoutée à `ModdingExtra::LoadTxt` : bilan par type de fichier à la fermeture du jeu et par la commande
|
||||
console `ModdingExtra.LoadTxtStats` (build `LifePlay_Build_5.5_DATA1`).
|
||||
console `ModdingExtra.LoadTxtStats` (build `LifePlay_Build_5.5_DATA1`).
|
||||
|
||||
### 17.2 Étape 1 : résultats (2026-10-02)
|
||||
|
||||
Lancement d'une partie (« Continue ») sur le build DATA1, juste après sa construction (fichiers jamais lus) :
|
||||
|
||||
| Type | Lectures | Fichiers | Relectures | Volume | Temps de lecture |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| `.lpscene` | 816 | 813 | 3 | 2,5 Mo | 3,86 s |
|
||||
| `.lpaction` | 305 | 305 | 0 | 113 Ko | 1,23 s |
|
||||
| `.lpstat` | 74 | 74 | 0 | 19 Ko | 0,33 s |
|
||||
| autres (`.lpai`, `.lpworld`, `.txt`, `.lpcharacter`…) | 96 | 59 | 37 | 0,9 Mo | 0,26 s |
|
||||
| **Total** | **1 291** | 1 251 | 40 | 3,6 Mo | **5,7 s** |
|
||||
|
||||
Comparaison hors du jeu, sur les 1 271 `.lpscene` : 2,4 ms par fichier à la première lecture, mais **0,11 ms par fichier
|
||||
une fois le cache du système chaud**. Le coût vient de l'ouverture à froid de centaines de petits fichiers (cache disque,
|
||||
antivirus), pas de leur taille.
|
||||
|
||||
Cela se retrouve dans la trace O2 :
|
||||
- `PopulateRaws` prend 12,6 s au premier passage (fichiers froids), puis ≈ 6 s quand il est relancé (fermeture du
|
||||
gestionnaire de mods, `CloseModManager` 6,2 s) ;
|
||||
- **≈ 6 s** viennent donc de la lecture à froid et **≈ 6 s** de l'analyse en Blueprint (`PopulateScenes` 3,6 s,
|
||||
`PopulateActions` 1,9 s…), à chaque passage.
|
||||
|
||||
Conséquences pour la suite :
|
||||
- **Étapes 2 et 3, réunies** (un fichier compilé lu une fois, puis `LoadTxt` servi depuis la mémoire) : environ −5 à
|
||||
−6 s au premier chargement d'une partie, gain faible ensuite.
|
||||
- **Étape 4** (analyse en C++) ou suppression des relances inutiles de `PopulateRaws` : jusqu'à −6 s **à chaque**
|
||||
passage.
|
||||
Loading…
Reference in a new issue