4 ms·
Wasn't that also the way Word used to dump structs onto disc in the "doc" days? I think I read that way also a major problem in writing converters, you baobab n
by jeffreygoesto 3y ago
Wasn't that also the way Word used to dump structs onto disc in the "doc" days? I think I read that way also a major problem in writing converters, you baobab needed to decode Word's internal data structures which were of course undocumented.
- orthoxerox 3y agoI remember Spolsky saying Excel .xls worked like this, but I guess this should apply to .doc files as well. This is usually orders of magnitude faster than serializing to/deserializing from a different storage format.
- bestouff 3y agoI don't think so. Serializing is IO-bound, if your format is "simple" (e.g. CBOR) you can't measure the difference. All this look like BS to justify laziness to me, and makes loading/saving operations fragile and setting in-memory structures in stone.
- Joker_vD 3y ago> Serializing is IO-bound Once upon a time, DMA did not meaningfully exist in the x86 world, so an IO-bound task was also CPU-bound.
- bestouff 3y agoYes of course, but the original example was Blender, running on today's hardware. IMO this is just sloppy engineering in this case.
- orthoxerox 3y agoDon't forget that Excel file format is literally 30 years old. When you have 4MB of RAM in total for your OS, Excel and whatever part of the file you can fit into the rest and your CPU is an i486 if you're lucky, minimizing parsing starts to make lots of sense.
- kragen 3y agothe cbor implementations i've had the misfortune to have to use are ridiculously slow, as slow as json parsers, perhaps because everything in cbor is variable-length just because it's unreadable in a text editor doesn't mean it'll be fast
- masklinn 3y agoIt's very common in old software and video games. Pre-97 office did that though with more formalisation than most (the binary format is now called Binary Interchange File Format, or BIFF, and is relatively generic, at the time MS almost certainly had utility libraries for working with BIFF). This was a common source of portability issues for game saves (as well as blowing your saves on updates), as they'd commonly just blit internal data structure, with no formalised interface.
- jamesfinlayson 3y agoYep, pretty sure Valve's brief experiment with a 64-bit Source engine in late 2005 resulted in save games that didn't work with 32-bit Half-Life 2.
- agumonkey 3y agoAnd potentially photoshop.