-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
During some recent benchmarks, we found GC bottlenecks, some of which seem to be addressed by the below list of PRs.
- Move to C.calloc instead of C.malloc #23
- Refactor allocations and move C code to separate header #24
- d7b3595
However, we think we should also look into the following:
- Running
go test -bench . -benchmem
andgo build -gcflags '-m -l'
to investigateallocs/ops
(head allocations).- This package should have very few (if any), as the memory lives in DuckDB, and we can copy pointers by value, and also return the small structs we have by value.
- Maybe use C directly for type sizes.
- Fix inconsistencies in the
StringTLength
function. - (Optional) Use C-primitives for getters and setters of supported types.
Metadata
Metadata
Assignees
Labels
No labels