CVSROOT: /cvs/gnome Module name: beagle Changes by: joeshaw 06/10/25 15:39:49
Modified files: BeagleClient : Makefile.am Message.cs Filters : Makefile.am Util : Makefile.am ReflectionFu.cs beagled : BeagleDaemon.cs Filter.cs FilterFactory.cs IQueryable.cs Makefile.am QueryDriver.cs Server.cs beagled-index-helper.in beagled.in beagled/EvolutionMailDriver: EvolutionMailDriver.cs beagled/IndexHelper: RemoteIndexerExecutor.cs beagled/ThunderbirdQueryable: ThunderbirdIndexer.cs ThunderbirdQueryable.cs bludgeon : Toolbox.cs search : Makefile.am search/Tiles : TileActivator.cs tools : Config.cs Info.cs Query.cs Added files: BeagleClient : AssemblyInfo.cs Filters : AssemblyInfo.cs Util : TypeCacheAttribute.cs beagled : AssemblyInfo.cs EvolutionBackendsAssemblyInfo.cs search/Tiles : AssemblyInfo.cs Log message: Fix a bunch of memory problems in beagle: * Fix the usage of assembly.GetTypes() - Mono never GCs Type objects, and calling GetTypes() instantiates evrey one of them contained in an assembly. Paired with some code that walked all the loaded assemblies, we were instantiating thousands of types unnecessarily that stayed around forever. * Remove ReflectionFu methods that get all types that subclass from a type or implement an interface; methods that do this should find a different way. * Implement assembly-scoped attributes for all of our dynamically loaded types, including Queryables, Filters, Tiles, RequestMessages, ResponseMessages, RequestMessageExecutors, and components in the Thunderbird backend. This means that these types now have to register themselves to be loaded, but they can still be dynamically loaded from outside assemblies. * No longer run mono with --debug unless the --mono-debug variable is passed to beagled. This saves us some memory off the top, but there is also some evidence that Mono leaks memory when this is turned on. For me, these changes result in about a 40% reduction in startup memory. URL : http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=beagle&who=joeshaw&date=explicit&mindate=2006-10-25%2015:38&maxdate=2006-10-25%2015:40 _______________________________________________ cvs-commits-list mailing list cvs-commits-list@gnome.org http://mail.gnome.org/mailman/listinfo/cvs-commits-list