vlist-cons micro-optimizations
authorAndy Wingo <wingo@pobox.com>
Mon, 23 Apr 2012 11:07:34 +0000 (13:07 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 23 Apr 2012 19:52:25 +0000 (21:52 +0200)
commitf6a554a6aa0832432cec9c9c18b99fad56008997
tree11c4ef63a8cbb4d5c1854933351689675cde8b5b
parent299ce911f986c7f9a6a4887ca3b72e5748e126f7
vlist-cons micro-optimizations

* module/ice-9/vlist.scm (set-block-next-free!): Define this instead of
  increment-block-next-free!.
  (block-append!): Refactor to take an offset, and only append if the
  offset is the next free value, and there is space in the block.
  (block-cons): Refactor to not be a loop.  The partial evaluator would
  have to understand effects analysis in order to be able to unroll it,
  and there's at most one recursion.

  Recovers the performance loss resulting from the previous commit.
module/ice-9/vlist.scm