mailru / dbr

Additions to Go's database/sql for super fast performance and convenience. (fork of gocraft/dbr)
MIT License
178 stars 36 forks source link

GetRows and LoadV2 methods #48

Closed egnd closed 1 year ago

egnd commented 1 year ago

Добавил методы:

Сохранена обратная совместимость. Для того что бы пакет начал использовать новый метод LoadV2, необходимо изменить глобальную переменную таким образом:

dbr.LoadMode = dbr.LoaderV2

Результаты бенчмарков:

goos: linux
goarch: amd64
cpu: AMD Ryzen 7 5700X 8-Core Processor             
Benchmark_SQLScan-16                        1360            867912 ns/op         1110444 B/op         30 allocs/op
Benchmark_SQLScanWithCap-16                 1647            711886 ns/op          246277 B/op         12 allocs/op
Benchmark_DBRLoad-16                         397           3002974 ns/op         2071928 B/op      40056 allocs/op
Benchmark_DBRLoadWithCap-16                  404           2886539 ns/op         1207696 B/op      40038 allocs/op
Benchmark_DBRLoadV2-16                       878           1349912 ns/op         1352000 B/op      10059 allocs/op
Benchmark_DBRLoadV2WithCap-16               1017           1207573 ns/op          487804 B/op      10041 allocs/op