xo / usql

Universal command-line interface for SQL databases
MIT License
8.94k stars 352 forks source link

Huge memory footprint #350

Closed sgaunet closed 2 years ago

sgaunet commented 2 years ago

Hi,

I'm testing usql actually and find that the memory footprint is quite huge. It sounds normal because of the long list of supported drivers.

/usr/bin/time -v usql --version
usql 0.11.1
...
    Maximum resident set size (kbytes): 81868
...

When recompiling without all drivers I obtain : Maximum resident set size (kbytes): 17792 It's better to be used in a docker container.

Is it possible to make different release with most drivers,all drivers and maybe specific driver ? I can help to create a goreleaser file if you're interested ? (But I will ask questions, it will be my first attempt to participate to an open source project)

Thanks

kenshaw commented 2 years ago

I don't really see any way this could be reduced. The entire point is to support all databases with a single tool. If you really need less drivers, it's easy to install usql with any drivers you'd like from source, and is well documented on the README.md (and in other issues).