perf: add an opt-in read-only connection pool
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 28/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- android, ios, react-native, sqlite
- Bereich
- database, mobile, performance
Rechercherichtung
Start by reviewing the existing independent read-only connection API and native FIFO behavior, then compare one connection with a small read pool on mixed read/write workloads for queue wait, query time, memory, WAL size, and battery/CPU cost on iOS and Android. Done requires recorded measurements before implementation, plus documented journal-mode and snapshot semantics and a clearly scoped opt-in pool lifecycle.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
NitroSQLite now supports independent read-only connections to one database file, but callers must create, select, and close each connection themselves. A write-heavy app with long reads may benefit from an opt-in pool that routes independent read queries across a bounded set of handles while retaining one writer connection.
Design a small pool API on top of the existing independent-connection and native FIFO behavior. Bound the connection count, preserve each connection's configuration, reject writes on reader handles, and close all handles only after outstanding work has settled or been cancelled. Document the SQLite journal mode and snapshot semantics; a pool must not silently change a database's journal mode or promise parallel writes.
Before implementation, compare one connection with a small read pool on realistic mixed read/write workloads. Record queue wait, query time, peak memory, WAL size, and battery/CPU cost on iOS and Android. Avoid a default pool until measurements show a benefit beyond the existing independent-connection API.
Related: #62, #364, #369. The independent read-only connections are already available; this issue tracks automatic routing and lifecycle only.
- Vorherrschende Sprache
- C
- Sterne
- 582
- Forks
- 53
- Ø Merge
- 2 T. 2 Std.
- Gemergte PRs (30 T.)
- 36
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus margelo/react-native-nitro-sqlite
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
margelo/react-native-nitro-sqlite#402 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
margelo/react-native-nitro-sqlite#400 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 28/100
margelo/react-native-nitro-sqlite#399 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
margelo/react-native-nitro-sqlite#398 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 48/100
margelo/react-native-nitro-sqlite#397 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in margelo/react-native-nitro-sqlite
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
pocoproject/poco#5626 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
FujiNetWIFI/fujinet-lib#272 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
facebookincubator/muse-gadget-sdk#301 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
luaebpf: the by-example page's intro names two outcomes of a lowering and omits the stop with the default verdictEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offendocumentation severity: low
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
luainkernel/lunatik#2231 ·
Maintainer antworten meist innerhalb von 1 Tag
-
aspect ratio 16:10Offenenhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Revivedx/SavageWindRecomp#402 ·
Maintainer antworten meist innerhalb von 1 Tag