aboutsummaryrefslogtreecommitdiff
path: root/benchmark
Commit message (Collapse)AuthorAgeFilesLines
* return None instead of ErrNoRows from SelectOne{,Where}Stefan Majewsky2026-05-041-2/+2
|
* fix benchmark calling the wrong test functionStefan Majewsky2026-04-301-1/+1
| | | | I should have been suspicious of the Gorm/Gorp numbers matching exactly :)
* benchmark: provide a handwritten N=1 implementation for InsertAndDeleteStefan Majewsky2026-04-301-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 methodsStefan Majewsky2026-04-301-8/+12
|
* benchmark: compare InsertAndDelete to plain SQLite using QueryRow for INSERTStefan Majewsky2026-04-291-7/+41
|
* exclude testhelpers from coverage testingStefan Majewsky2026-04-241-2/+2
|
* change Store.Insert() to take arguments by pointerStefan Majewsky2026-04-191-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 PreparedSelectQueryStefan Majewsky2026-04-181-3/+5
|
* write out a proper READMEStefan Majewsky2026-04-181-0/+10
|
* benchmark: add GormStefan Majewsky2026-04-173-37/+123
|
* add Store.Update()Stefan Majewsky2026-04-161-6/+109
|
* add PrepareThreshold tuning parameterStefan Majewsky2026-04-161-1/+0
|
* benchmark: compare batches of prepared vs. one-off statementsStefan Majewsky2026-04-161-57/+103
|
* take non-pointer records on Insert()Stefan Majewsky2026-04-161-1/+2
|
* reduce code duplication in benchmark testsStefan Majewsky2026-04-131-104/+30
|
* add initial sketches for Store.Insert, Store.UpdateStefan Majewsky2026-04-121-32/+121
| | | | Currently extremely bad performance for some reason. Need to investigate.
* add Store.SelectWhere, Store.SelectOneWhereStefan Majewsky2026-04-121-9/+43
|
* add Store.SelectOneStefan Majewsky2026-04-121-18/+97
|
* reorganize the API from type DB to type StoreStefan Majewsky2026-04-111-3/+6
|
* BenchmarkSelect: test N=1/10/100/1000 all at onceStefan Majewsky2026-04-111-78/+81
|
* say no to ctxStefan Majewsky2026-04-111-2/+2
|
* initial MVP for oblast.Select()Stefan Majewsky2026-04-104-0/+168