Hello Andy! "Andy Wingo" <wi...@pobox.com> skribis:
> commit f4e45e91f265429ad1c42d3905dd3c05a0bc0924 > Author: Andy Wingo <wi...@pobox.com> > Date: Thu May 26 18:14:32 2011 +0200 > > lazily init futures worker pool > > * module/ice-9/futures.scm (%workers, %create-workers!) > (create-workers!): Define a mechanism to spawn off the future threads > only when the first future is created. > (make-future): Call create-workers! here. [...] > "Return a new future for THUNK. Execution may start at any point > concurrently, or it can start at the time when the returned future is > touched." > + (create-workers!) Wouldn't it be more efficient to instead do: (if (null? %workers) (%create-workers!)) Once the workers are created, that would leave 0 function calls. Thanks, Ludo'.