Warning: Cannot modify header information - headers already sent by (output started at /nfs/c02/h06/mnt/17844/domains/blog.splittist.com/html/index.php:2) in /nfs/c02/h06/mnt/17844/domains/blog.splittist.com/html/wp-includes/feed-rss2-comments.php on line 2
Comments on: NREVERSE vs. pointer manipulation revisted http://blog.splittist.com/2007/10/10/nreverse-vs-pointer-manipulation-revisted/ Thu, 09 Sep 2010 21:34:29 +0000 http://wordpress.org/?v=2.2.1 By: Paul Dietz http://blog.splittist.com/2007/10/10/nreverse-vs-pointer-manipulation-revisted/#comment-50 Paul Dietz Thu, 11 Oct 2007 18:36:42 +0000 http://blog.splittist.com/2007/10/10/nreverse-vs-pointer-manipulation-revisted/#comment-50 I noticed in at least one lisp that unrolling a (loop ... collect ...) form into (loop ... nconc (list ... ...)) caused it to run noticeably faster. The reason, I think was the destructive operation of tacking something onto tht end involves a write barrier, which was somewhat expensive. LIST on two arguments, apparently, didn't need a write barrier. It was a silly and pointless microoptimization, but I am easily amused. I noticed in at least one lisp that unrolling a (loop … collect …) form into (loop … nconc (list … …)) caused it to run noticeably faster. The reason, I think was the destructive operation of tacking something onto tht end involves a write barrier, which was somewhat expensive. LIST on two arguments, apparently, didn’t need a write barrier.

It was a silly and pointless microoptimization, but I am easily amused.

]]>
By: ;) http://blog.splittist.com/2007/10/10/nreverse-vs-pointer-manipulation-revisted/#comment-49 ;) Wed, 10 Oct 2007 21:11:41 +0000 http://blog.splittist.com/2007/10/10/nreverse-vs-pointer-manipulation-revisted/#comment-49 If you start to care about things like that, you'll end up building your own hardware... If you start to care about things like that, you’ll end up building your own hardware…

]]>