From kde-core-devel Wed Apr 18 00:26:18 2001 From: Roberto Alsina Date: Wed, 18 Apr 2001 00:26:18 +0000 To: kde-core-devel Subject: Anyone knows about "snow" compilers? X-MARC-Message: https://marc.info/?l=kde-core-devel&m=98755381802427 Reading http://www.linuxdevices.com/articles/AT7436904154.html something caught my eye :-) Another interesting design decision has concerned the choice of compiler. In an attempt to minimize executable code size, former Agenda developer Shane Nay pushed the use of the "snow" compiler, a gcc variant started by Jay Carlson. Developers are accustomed to the choice of dynamic vs. static library linking. With static linking all addresses are resolved at link time and the library code used by an application is linked directly with the application itself, so no run time cost is associated with using the library's facilities.=20 With dynamic linking, the library is loaded into memory separately from the application, and the library's functions and variables are exposed in symbolic form. When the application is loaded, the resources it needs from the library are linked in at that time -- any reference to the library must be resolved at load time, so load times are slower and executable file sizes are larger than if static linking is used.=20 The snow compiler attempts to gain the best of both the static and dynamic linking worlds by resolving symbols at link time but loading the application and libraries separately. Thus libraries can be shared among applications, but the overhead of dynamic linking is saved. The downside is that applications refer to specific locations within the libraries, so the libraries cannot be changed without breaking all the applications to which they are linked. This rather confusing hybrid static/dynamic linking scheme reportedly saves considerable code space and load time, but Agenda has decided against using it for now because of the maintenance headache involved in managing library dependencies. This seems like a sensible decision, but as a result, applications load fairly slowly.=20 ("\''/").__..-''"`-. . Roberto Alsina `9_ 9 ) `-. ( ).`-._.`) ralsina@conectiva.com.ar (_Y_.)' ._ ) `._`. " -.-' Director t=E9cnico _..`-'_..-_/ /-'_.' Conectiva SA (l)-'' ((i).' ((!.' Buenos Aires - Argentina KDE Developer (MFCH) Futuaris nisi irrisus ridebis. (Carlton, De rerum comoedia)