[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Back to the future!
From: |
Ludovic Courtès |
Subject: |
Back to the future! |
Date: |
Fri, 03 Dec 2010 00:55:40 +0100 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) |
Hello!
There’s a brand new (ice-9 futures) module implementing futures:
http://git.sv.gnu.org/cgit/guile.git/commit/?id=0d4e6ca38f1c51f5f92effc7d97c8b69eb85d071
(There used to be an implementation of futures in libguile, but it was
never included in a release because of various bugs.)
It basically does the job, though there are a couple of minor FIXMEs or
TODOs.
The implementation was inspired by that of libgomp, the GNU OpenMP
run-time support library. It uses a pool of threads, normally one per
CPU core minus one, and offloads expression evaluation to them. On a
single-core machine, you get an empty thread pool, meaning that futures
are evaluated sequentially, upon ‘touch’.
Feedback welcome! :-)
Thanks,
Ludo’.
- Back to the future!,
Ludovic Courtès <=