On Thu, 18 Nov 2004, Arkady V.Belousov wrote: > Of course, qsort() if very fast algo (except some specific cases, when > it is O(N^2)), but why to do _any_ extra action, when unnecessary? :) > Especially, I suggest, (most) linkers do own sorting anyway?
I think even bubble sort would be fast enough here. It's just that qsort is convenient because it is provided by the RTL. > Hm. I think for simplicity and safety, exeflat should itself move > relocation table from executable's header inside executable itself, so that > it may be reused by MoveKernel(). This allows to eliminate manual table at > kernel.asm:__HMARelocationTableStart. > > (Yes, I know __HMARelocationTableStart is not plain relocation table, > but jump/code table, with jmps and calls to EnableA20. But table from header > may be copied (after fixing) into "secondary" table. This allows to make > code, which is more relocatable and may make cross-segments calls and > accesses. This also solves issues with standard library routines, which may > be used both from non-relocatable low code and from relocatable code.) This is not so easy. Firstly a secondary table would need extra space in low memory. There used to be entries to strcpy et al in the table but I removed them later because that part of the table that was useless after init was still resident. Secondly it would be quite a bit of effort for very little gain. Also think about it: we don't know in advance how big the table will be, it's hard to insert something of arbitrary size in kernel.sys. And then, where's the simplicity? > PS: Bart, some time ago you decrease kernel by reordering object files. May > you explain what was changed and how you find this? Just reordered by placing more or less similar files close together (asm close to asm, c close to c); that decreased entropy so compression improved. Bart ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel