From: <Joe...@t-...> - 2016-04-27 12:06:57
|
Daniel, Congratulations, too, for obtaining a GSOC! > I'd like to change that. In order to do so I'd like to "modernize" the code > base, starting with the C code. That means [...] splitting code into smaller units, Speaking about lispbibl.d, I'm not sure it's too big, in absolute terms. I've learned that the "best" file size very much depends on how we use a file, i.e. the tools we use to manipulate it. Back in history, approx. 25 years ago, when I first compiled CLISP on a 3MB(?) Amiga, opening the huge - by old standards - 500kB lispbibl.d took at least once second, just to load. Searching through 500kB was not instantaneous. Fast forward to the present, searching in a 1MB file shows no lag. However, editors are still an order of magnitude better at handling single files than at working with multiple, related files. How would you specify a search in only include files, excluding code files, e.g. record.d? So having everything in once place still has benefits, today. If you look closely, you'll still find comments like "ARRBIBL for ARRAY.D". Lispbibl.d back then was a concatenation of those more specific include files. BIBL means 'Bibliothek', i.e. library. We found out that, due to memory fragmentation issues, it was more reliable to compile all C files using the one giant include file than the individual pieces. That's no more an issue. Last but not least, like it or not, trying to create a proper hierarchy of tiny ordered includes costs a lot of effort and time. Unsurprisingly, all languages have something to use forward references. I don't know if it's worth the effort to change that. Kind regards, Jörg Höhle |