| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | fix benchmark calling the wrong test function | Stefan Majewsky | 2026-04-30 | 1 | -1/+1 |
| | | | | | I should have been suspicious of the Gorm/Gorp numbers matching exactly :) | ||||
| * | benchmark: provide a handwritten N=1 implementation for InsertAndDelete | Stefan Majewsky | 2026-04-30 | 1 | -0/+29 |
| | | | | | | | | | | | | | | | | | As I had expected, this removes an unfair disadvantage for Oblast, which had to maintain two differently-typed slices for Insert() and Delete(). This is not really a fair comparison since usually you would not be doing both operations in one go. For Gorp, this rewrite is neutral. But in a shocking twist, Gorm somehow does _significantly_ worse with a specialized N=1 implementation: ``` BenchmarkInsertAndDelete/N=1/via_Gorm-24 before: 11508 B/op 157 allocs/op after: 12840 B/op 172 allocs/op ``` | ||||
| * | add ctx arguments to most methods | Stefan Majewsky | 2026-04-30 | 1 | -8/+12 |
| | | |||||
| * | benchmark: compare InsertAndDelete to plain SQLite using QueryRow for INSERT | Stefan Majewsky | 2026-04-29 | 1 | -7/+41 |
| | | |||||
| * | exclude testhelpers from coverage testing | Stefan Majewsky | 2026-04-24 | 1 | -2/+2 |
| | | |||||
| * | change Store.Insert() to take arguments by pointer | Stefan Majewsky | 2026-04-19 | 1 | -2/+6 |
| | | | | | | | | | This increases memory overhead slightly, but when converting Gorp uses into Oblast, I saw that there is a legitimate risk of just ignoring the result value and continuing with the unupdated records. So according to the design priorities that I myself laid down, I'm sacrificing some performance for safety of use. | ||||
| * | add type PreparedSelectQuery | Stefan Majewsky | 2026-04-18 | 1 | -3/+5 |
| | | |||||
| * | write out a proper README | Stefan Majewsky | 2026-04-18 | 1 | -0/+10 |
| | | |||||
| * | benchmark: add Gorm | Stefan Majewsky | 2026-04-17 | 3 | -37/+123 |
| | | |||||
| * | add Store.Update() | Stefan Majewsky | 2026-04-16 | 1 | -6/+109 |
| | | |||||
| * | add PrepareThreshold tuning parameter | Stefan Majewsky | 2026-04-16 | 1 | -1/+0 |
| | | |||||
| * | benchmark: compare batches of prepared vs. one-off statements | Stefan Majewsky | 2026-04-16 | 1 | -57/+103 |
| | | |||||
| * | take non-pointer records on Insert() | Stefan Majewsky | 2026-04-16 | 1 | -1/+2 |
| | | |||||
| * | reduce code duplication in benchmark tests | Stefan Majewsky | 2026-04-13 | 1 | -104/+30 |
| | | |||||
| * | add initial sketches for Store.Insert, Store.Update | Stefan Majewsky | 2026-04-12 | 1 | -32/+121 |
| | | | | | Currently extremely bad performance for some reason. Need to investigate. | ||||
| * | add Store.SelectWhere, Store.SelectOneWhere | Stefan Majewsky | 2026-04-12 | 1 | -9/+43 |
| | | |||||
| * | add Store.SelectOne | Stefan Majewsky | 2026-04-12 | 1 | -18/+97 |
| | | |||||
| * | reorganize the API from type DB to type Store | Stefan Majewsky | 2026-04-11 | 1 | -3/+6 |
| | | |||||
| * | BenchmarkSelect: test N=1/10/100/1000 all at once | Stefan Majewsky | 2026-04-11 | 1 | -78/+81 |
| | | |||||
| * | say no to ctx | Stefan Majewsky | 2026-04-11 | 1 | -2/+2 |
| | | |||||
| * | initial MVP for oblast.Select() | Stefan Majewsky | 2026-04-10 | 4 | -0/+168 |
