Library and Archive: opening or saving a small text file takes 1 to 6 seconds

Offen
#501 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
backend, performance

Rechercherichtung

Start by profiling library-object reads and writes and the eight sidebar folder-list requests made during each Library window load. Check whether the folder lists are handled one at a time, and review #445 for the related cost of decrypting every file in a folder. Done means small text files open and save about as fast as in Documents, and the visible folder loads before the others.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

The ElastOS User Tester measured this on 0.8.0-alpha.25 (source 92aeea44d) on 28 Oct 2026, three runs each, with a 44-byte .txt file:

  • Library opened the file in Documents in about 1.5 s and saved it in about 0.9 s. Each library-object read or write took about 1 s.
  • Archive took about 6.4 s to make a ZIP of that file and about 4.4 s to open the ZIP.
  • For comparison, Documents saved its own file in about 60 ms.

Each Library window load, including the picker that Archive uses, asks for the lists of eight sidebar folders at the same moment. The last list returned after about 3 s, and an action the person took right after it waited behind them. The tester did not check whether the server answers these lists one at a time.

Expected: a small file opens and saves about as fast as in Documents, and Library loads the folder the person sees before the others. A good first step is to profile library-object and the folder lists. #445 (a folder listing decrypts every file in the folder) may explain part of the time.

The 0.8.0 candidate has no change for this, and the timings were not measured again on it.

Vorherrschende Sprache
Rust
Sterne
6
Forks
2
Ø Merge
1 T. 3 Std.
Gemergte PRs (30 T.)
42

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus elastos/elastos-runtime

Alle Issues in elastos/elastos-runtime

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.