wiki:ReleaseNotes/1.3

Version 1 (modified by rme, 6 years ago) (diff)

--

Release Notes for Clozure CL 1.3

Supported Platforms

Clozure CL now runs on the following platforms:

  • Mac OS X 10.4 and later (PowerPC and x86)
  • Linux (PowerPC and x86)
  • FreeBSD 6.x and later (x86)
  • Solaris 10 and OpenSolaris? (x86)
  • MS Windows

All versions come in both 32- and 64-bit versions. We still consider the 32-bit Windows port to be of alpha-level quality. Feedback and bug reports from Windows users would be welcome.

Performance

Hash Tables

Hash tables now use a "nearly-lock-free" algorithm, which is a modification of the lock-free hash table algorithm described by Cliff Click at  http://blogs.azulsystems.com/cliff/2007/03/a_nonblocking_h.html.

Lock-free hash tables minimize the performance impact of thread safety. They avoid locking during GETHASH, but at the cost of making rehashing more expensive. PUTHASH performance is basically unaffected.

ccl::*lock-free-hash-table-default* can be set to NIL to use the standard algorithm, with locks for shared tables.

(Say something about shared/non-shared hash tables?)

Bignums

Bignum multiplication speed on 64-bit systems is no longer dreadful.

DELETE-DUPLICATES

Speed up DELETE-DUPLICATES when the number of elements is large.

Objective-C Bridge

The bridge no longer converts lisp strings to NSString instances automatically. The created NSString objects were never being released.

The bridge doesn't work on 64-bit PPC.

Cocca IDE

AltConsole?.app

Low-Level Changes

Instead of trying to use syscalls directly, we now call glue functions in the lisp kernel.

New (or newish) CCL exports

with-filename-cstrings

Other

On Unix systems, if "ccl-init.lisp" doesn't exist, Clozure CL will try to load ".ccl-init.lisp". An openmcl-init.lisp file will no longer be read (or warned about).

Derive the heap image name from the kernel name by appending ".image" to it. On platforms where we've traditionally used case-inversion, fall back to the case-inverted name in the ".image" doesn't exist. For example, the x8664 Linux image name is now lx86cl64,image rather than "LX86CL64".

The compiler now warns about duplicate definitions within a compilation unit.

ALPHA-CHAR-P is now true of all Unicode 5.1 characters that have the ALPHABETIC attribute property.

Updated bundled ASDF to version 1.130.

Add source location and pc->source mapping support. (r11373) The disassembler users the source location support to annotate the disassembly with the corresponding source code.

FREEZE/FLASH-FREEZE

New Examples

jfli