On Mon Jan 8 13:50:51 2024 +0000, Conor McCarthy wrote:
Unless there are unforeseen complications, the 1.5 Mb for SQLite may well be worth it. My two cents also.
I already mentioned this on IRC, duplicating here for the benefit of others:
I think SQLite may be worth a look, to see how it compares to the current implementation. A couple of points though:
- To some extent the storage backend is a bit of an implementation detail; ideally it shouldn't be too hard to replace the storage backend, allow for multiple different implementations, or perhaps even to allow the user of vkd3d-shader to provide its own implementation.
- The main argument against SQLite is likely the cost of adding an effectively non-optional dependency. In particular, while SQLite is commonly available on Linux distributions, things are a bit harder on Windows/Wine. The implication would likely be adding SQLite as a bundled library to Wine (as well as CrossOver, but we're not necessarily terribly concerned about CrossOver here), so it may be worth getting @julliard's views on that beforehand.
- In general, filesystems tend to be pretty decent at storing files; being able to do significantly better by storing them in a database instead would seem like a surprising result, but I guess we'll find out.
- Are there any existing Win32 APIs we could use for the storage backend?