| ▲ | zelphirkalt an hour ago | |
SQLite is fast, but it won't be faster than a hot loop in C. Having the loop construct dictated by the file format seems bad. For images it seems more reasonable to have them in-memory, except for huge image edge cases. | ||
| ▲ | TeMPOraL 16 minutes ago | parent [-] | |
Images are the red herring. Pixel data is best read in hot loops in C, but that would be stored as blobs in SQLite anyway. It's all the metadata around the image that's interesting. Images have layers, dozens or hundreds of them (this literally scales with how good your software is at handling those - the faster, and more powerful layer UX is, the more they get used). Some are pixel layers, other are effect layers, text layers, vector layers. Layers have metadata - names, sizes, colors, tags, types, special effects, and a bunch of other stuff I don't know because I don't use that 80% of features of GIMP/Photoshop/Affinity. Then you have document level metadata, UI-specific metadata, etc. Also undo history. A lot of that is relevant to the work on images themselves, and changes in realtime, and can get even more useful if querying it wasn't such a PITA. That - not the binary pixel blobs - is the selling case of using SQLite as application data format. | ||