[racket-dev] Refactoring in-vector and friends

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Dec 2 20:22:38 EST 2010

Yesterday, Noel Welsh wrote:
> If you have objections please let me know -- if I don't hear any
> I'll commit tomorrow. Diff is attached.

1. At this level, I think that the costs are very important -- and
   there's two possible costs here: (a) it adds more files to
   racket/base which adds some overhead to starting up; (b) more
   importantly, there is no inlining across module boundaries, which
   means that such splitting can make things significantly slower.
   (For example, in racket/private/sort I've made some ugly tricks to
   make things fast, in a way that would be much harder to do across

2. Since you refactored code, I prefer seeing two commits -- one for
   shuffling things around without any changes, and one for adding the
   new feature.  This will make reviewing the change easier, and help
   if there's problems to debug later on.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.