From GNUstepWiki
Jump to navigation Jump to search

Help improve the performance of GNUstep applications.

Current Version: 0.5.0

  • Released: May 8, 2014
  • Licensed: LGPL


A collection of classes to help improve/tune performance of your software


  • The GSThroughput class allows you to track the total counts of transactions/events as well as the rate (per second) and the minimum, maximum and average durations of operations. You can look at this information to see how your program ha been performing over a particular time period, and to isolate frequently used operations which may need optimizing.
  • The GSCache class provides effective caching for all sorts of data. You can configure the size (memory footprint) and/or maximum number of items in a cache, and you can specify the lifetime of objects in the cache. Cache removal is done on a least-recently-used flushed first basis, but hooks are provided to override that. The status of one or all caches can be easily reported, showing the size and the number of cache hits/misses.
  • Provides a method to obtain a skip-list based NSMutableArray subclass. This is intended for use where you need a large array which you are going to insert/delete items from. The insertion/deletion operation in a skip-list array is similar in performance to a linked list (ie much faster than a conventional array), but the time to access an item at an arbitrary index, while not as slow as a conventional array, is enormously faster than a simple linked list implementation.


Richard Frith-Macdonald

Related Links