Wed Oct 8 13:12:43 1997 Philippe Bekaert * lookup.c: lu_shash() hashing function finetuned. Number of collisions reduces drastically (from about 100/access for a 10,000 vertex scene to about 10). The number of collisions can still be reduces further to about 3 (and truly independent of table size), but the effect of this is unnoticable in the execution time statstics. lu_find(): cleaned up + collision resolution loop rewritten to be more efficient (factor 2 speedup when there are many collisions) statstics gathering implemented: can be enabled by defining the LU_STATS symbol. Tue Oct 7 11:10:55 1997 Philippe Bekaert * parse.h, parser.c: mg_open recognizes file extensions .Z and .gz + filenames starting with a '|' are considered to contain a command for piped input. Requires addition of a flag "ispipe" to the mg_fctxt struct. * parser.h, context.c: client_data field added to the C_VERTEX struct, so the "client" can keep data with an MGF vertex (e.g. own vertex data) This client data is initialized to zero when the vertex is created, but is further to be maintained by the client. * context.c: akward vertex clock maintainance fixed (when requesting a vertex for the first time, the clock value was not 1 if malloc() on your system happens not to clean freshly allocated memory, e.g. Solaris. * Makefile: introduction of compile flags (MGFFLAGS) specific for this directory. Compilation without "register" directive for variables leaves more opportunities to the compiler for optimisation.