3 ms·
Well you'd have the problem that an sqlite database file created on a Linux AMD64 box could be copied to an AArch64 macOS machine to be read there. And quite a
by mort96 3mo ago
Well you'd have the problem that an sqlite database file created on a Linux AMD64 box could be copied to an AArch64 macOS machine to be read there. And quite a lot of (cross platform) software build their file formats on top of SQLite.
- appplication 3mo agoI think my silly and unserious naive response would be linear scaling bundled binaries with number of platforms doesn’t seem to be that materially different in terms of total size. But I see your point, didn’t consider the architectures
- afiori 3mo agoit would be sorta enough to bundle the wasm binary
- Certhas 3mo agoThat's the idea behind the future file format: https://github.com/future-file-format/F3 https://github.com/future-file-format/F3 Bundle a wasm decoder as a fallback when native decoder isn't available.
- mort96 3mo agoThe issue then is that instead of just bundling a tiny 1MB sqlite library with your program, you have to bundle a huge WASM runtime. I looked at the size of wasm on my system just to get an idea and it's 46MB; that's huge. For context, I have a game I'm working on where I build stand-alone builds with all dependencies bundled. The app bundle is 14MB right now. If I added sqlite, it would grow to 15MB. If I added sqlite-but-with-wasm, it'd more than quadruple in size to 60MB.
- mort96 3mo agoUgh I can't edit now but just noticed I should've said I looked at the size of wasmtime, not "the size of wasm".
- andai 3mo agoPerhaps it could be an "actually portable executable"? https://news.ycombinator.com/item?id=26273960 https://news.ycombinator.com/item?id=26273960
- eesmith 3mo agoFWIW, that's existed for a while. Source at https://github.com/jart/cosmopolitan/tree/master/third_party/sqlite3 https://github.com/jart/cosmopolitan/tree/master/third_party... with downloadable binary at https://cosmo.zip/pub/cosmos/bin/sqlite3 https://cosmo.zip/pub/cosmos/bin/sqlite3 . % curl -LO 'https://cosmo.zip/pub/cosmos/bin/sqlite3' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4845k 100 4845k 0 0 1384k 0 0:00:03 0:00:03 --:--:-- 1384k % chmod +x sqlite3 % file sqlite3 sqlite3: DOS/MBR boot sector; partition 1 : ID=0x7f, active, start-CHS (0x0,0,1), end-CHS (0x3ff,255,63), startsector 0, 4294967295 sectors % ./sqlite3 SQLite version 3.40.0 2022-11-16 12:10:08 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite>: