From: Juho S. <js...@us...> - 2006-01-07 18:53:47
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26832 Modified Files: NEWS version.lisp-expr Log Message: 0.9.8.19: Changes to GENCGC memory zeroing behaviour that give a big performance boost, especially on modern processors. * Instead of zeroing memory by remapping memory with munmap/mmap at GC time, pages are just marked as needing zeroing and zeroed with memset when they're added to a new allocation region. This reduces GC latency both for the common and worst cases. * To keep the memory footprint down, clear the pages by remapping after major GCs (arbitrarily defined as a collection of generation 2 or older). The memory freed from a minor GC is just going to get used again immediately , so releasing them back to the OS would make little sense. * Add a GENCGC mode (#define READ_PROTECT_FREE_PAGES) for catching attempts to read unallocated pages * See sbcl-devel "Changes to GENCGC memory zeroing" in 2005-12 for more details and performance measurements. (Note that many parts of this patch have already been committed piecemeal over the last month, this is just the most significant chunk). * Performance effect on BSDs (which used a different zeroing strategy than Linux before this) is unknown. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.939 retrieving revision 1.940 diff -u -d -r1.939 -r1.940 --- NEWS 6 Jan 2006 03:31:26 -0000 1.939 +++ NEWS 7 Jan 2006 18:53:39 -0000 1.940 @@ -9,6 +9,7 @@ * bug fix: interrupt handling on NetBSD (thanks to Richard M Kreuter) * bug fix: saving a core corrupted callbacks on x86/x86-64 + * optimization: major improvements to GC efficiency on GENCGC platforms * optimization: faster implementation of EQUAL * optimization: emit more efficient opcodes for some common immediate->register MOV instructions on x86-64. (thanks to Lutz Euler) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.2629 retrieving revision 1.2630 diff -u -d -r1.2629 -r1.2630 --- version.lisp-expr 7 Jan 2006 18:22:58 -0000 1.2629 +++ version.lisp-expr 7 Jan 2006 18:53:39 -0000 1.2630 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.8.18" +"0.9.8.19" |