random-state.net

Nikodemus Siivola

<< next | top | previous >>

February 24th 2006 #
random, February 24th 2006

One Step Back, Four Steps Sideways

Steel Bank Studio: it seems that I was too optimistic on my projections. My current employment will keep me busy till somewhere around mid-2006, which translates into an equivalent delay in concentrating on SB-STUDIO.

Yay For Clever People! Lots of clever people have done great things with SBCL during the past couple of months: the Win32 port is getting some air under its wings and Cyrus Harmon has ported the generational collector to PPC. Plenty of kudos to you guys!

More Constants: I've been working a bit more on the new and improved CONSTANTP for SBCL. I added some support for simple special forms such as IF and PROGN, and figured out how to sidestep the environment issue I mentioned. Unfortunately something went astray and now the builds are looping infinitely on the compilation of the first top-level form using the new CONSTANTP. *sigh* — time to comb thru diffs again.

Faster Funcall, Kill, Kill, Kill! Another minor improvement I've been working on (and have tentatively finished) is faster function calling thru constant symbols. Currently (FUNCALL 'FOO) takes roughly five times as long as (FUNCALL #'FOO). With the patch the difference is minimal as long as #'FOO is not inline. There are a few bugs to shake out still, but I think I know what they are about. The real-world benefits of this are not quite as dramatic, though. I suspect that Alaistar Bridgewater's work on the calling conventions will yeild much greater benefits.

Unicode Names. This one has already made rounds on sbcl-devel: in Unicode each character has a corresponding name: #\a is LATIN_SMALL_LETTER_A, und so vidare. Adding support for this to CHAR-NAME and NAME-CHAR bloats the core by roughly 600k, though.