Opensort

A fast general purpose sorting software

08-Jul-2013: New Release
Version 0.5.3 is out. On this release:
  • Minor memory leaks fixed
  • Makefile now creates lib directory prior build if it does not exist
  • Updated GPL v2 license file
01-Jan-2012: New Release
Version 0.5.1 is out. On this release:
  • Port to Portable C Compiler (PCC)
  • api: OS_SORTER_SEGMENTED added
  • api: OS_SORTER_EARLYFLUSH dropped
  • cli: -segmented introduced
  • cli: -earlyflush dropped
  • flr: osqsort_mt () disabled due to reliability issues
  • testsuite: expanded to cover -stable for FLR

25-Oct-2011: New Release
Version 0.5.0 is out. On this release:
  • Bugfix: statistics miscalculations
  • cli: -multitmp is now default for TEXT
  • cli: -stable introduced
  • cli: -merge introduced
  • api: opensort_stats_t introduced
  • api: changes to opensort_statistics ()
  • api: changes to opensort_sortmerge ()
  • api: opensort_merge () introduced
  • doc: updates for cli and api
  • testsuite: expanded to cover -merge
29-Aug-2011: New Release
Version 0.4.4 is out. On this release:
  • common: major performance improvements for osrsort() and osrsort_mt()
  • common: serious bug fixed in osrsort() and osrsort_mt()
14-Aug-2011: New Release
Version 0.4.3 is out. On this release:
  • text: major performance improvements when multiple keys declared
06-Aug-2011: New Release
Version 0.4.2 is out. On this release:
  • Bugfix: miscalculation of microblock size could cause segfault
  • cli: I/O buffer size cannot exceed memory limit and will be adjusted silently
  • cli: default I/O buffer for TEXT size increased from 4K to 64K
  • text: minor performance improvements
  • doc: updates for cli
09-Jul-2011: New Release
Version 0.4.1 is out. On this release:
  • Bugfix: a bug in opensort_priv.h breaks the build in 32bit platforms
  • Bugfix: wrong logic in FLR could cause segfault when input was stdin
  • api: OS_STRING_IGNORE_CASE added
  • cli: tic (text ignore case) key type added
  • cli: -singletmp and -multitmp command line arguments introduced
  • common: memory and speed optimization for FLR buffered i/o
  • doc: updates for cli and api
15-Jun-2011: New Release
Version 0.4.0 is out. On this release:
  • Bugfix: wrong call of osrsort() from osrsort_mt() could break sort order
  • api: OS_DELIM_NONE added
  • api: OS_TEMPFILE_MULTIBLOCK and OS_TEMPFILE_SINGLEBLOCK added
  • api: opensort_settempfile() changed
  • api: documentation update
  • cli: default key for TEXT is 1,t
  • cli: default delimiter is none
  • cli: default input is stdin and default output is stdout
  • cli: documentation update
  • text: support for stdin and stdout
  • text: support for multiple single-block temporary files
  • flr: support for stdin and stdout
  • flr: support for multiple single-block temporary files
  • testsuite: expanded to cover more cases
31-May-2011: New Release
Version 0.3.2 is out. On this release:
  • Bugfix: Makefile. Correct implementation of LD environment variable
  • flr: osqsort_mt() re-enabled
  • common: descending order osrsort() and osrsort_mt() through reversing
  • testsuite: opensort flags corrections and general clean up. README added
24-May-2011: New Release
Version 0.3.1 is out. On this release:
  •  Bugfix: bad initialization of os_flrprefetcher() could break sort order
  •  Bugfix: wrong calculation of maximum key size for TEXT could break sort order
  •  text: more efficient memory management and major performance gain
  •  common: statistics now report records in and records out
  •  testsuite: expanded to cover more cases
20-Apr-2011: New Release
Version 0.3.0 is out. On this release:
  • Bugfix: Makefile. Correct implementation of LIBPREFIX
  • api: opensort_version() introduced         
  • api: OPENSORT_MAJOR, OPENSORT_MINOR, OPENSORT_PATCH removed from opensort.h
  • api: documentation update         
  • flr: consolidation of user defined keys if possible         
  • text: consolidation of user defined keys if possible         
  • common: statistics now report user defined and internal (consolidated) keys
05-Jan-2011: New Release
Version 0.2.1 is out. On this release:
  • Bugfix: compilation with sun studio 12
  • Bugfix: buffer overflow in os_txtsorter()
  • Bugfix: buffer overflow in os_txtmerger()
  • flr: data pointer removed from detached key record
  • text: data pointer removed from detached key record
  • common: Temporary withdrawal of osqsort_mt(). Segfaults when comparison function
                   access' thread local variables (declared with __thread)

01-Jan-2011: New Release
Version 0.2.0 is out. On this release:
  • Port to Solaris 10 completed
  • common: oslist_t became thread safe
  • cli: -debug option introduced
  • cli: documentation update
  • api: opensort_geterror() introduced. Gives access to the error list
  • api: opensort_strerror() introduced. Returns a string describing an error number
  • api: documentation update
28-Dec-2010: New Release
Version 0.1.2 is out. On this release:
  • Bugfix: Opensort returns an error for zero-sized input files
23-Dec-2010: New Release
Version 0.1.1 is out. On this release:
  • Bugfix: Opensort segfaults over one-record files
22-Dec-2010: Initial Release
Version 0.1.0 is the initial source code release of the opensort project. Please check
the documentation for further details.