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'.

Reply via email to