src/Pure/Concurrent/future.ML
Tue, 03 Nov 2009 19:52:09 +0100 wenzelm slightly leaner and more direct control of worker activity etc.;
Thu, 22 Oct 2009 15:21:01 +0200 wenzelm use Synchronized.assign to achieve actual immutable results;
Thu, 01 Oct 2009 16:27:13 +0200 wenzelm added Task_Queue.depend (again) -- light-weight version for transitive graph;
Tue, 29 Sep 2009 11:49:22 +0200 wenzelm explicit indication of Unsynchronized.ref;
Mon, 28 Sep 2009 12:09:18 +0200 wenzelm added fork_deps_pri;
Tue, 22 Sep 2009 20:25:31 +0200 wenzelm full reserve of worker threads -- for improved CPU utilization;
Sun, 20 Sep 2009 19:17:33 +0200 wenzelm tuned tracing;
Sun, 20 Sep 2009 18:37:55 +0200 wenzelm scheduler backdoor: 9999 means 1 worker;
Wed, 16 Sep 2009 22:46:10 +0200 wenzelm Synchronized.value does not require locking, since assigments are atomic;
Thu, 27 Aug 2009 17:00:03 +0200 wenzelm tuned tracing;
Sat, 01 Aug 2009 00:17:03 +0200 wenzelm future scheduler: uninterruptible cancelation;
Sat, 01 Aug 2009 00:09:45 +0200 wenzelm renamed Multithreading.regular_interrupts to Multithreading.public_interrupts;
Thu, 30 Jul 2009 23:37:53 +0200 wenzelm tuned tracing;
Thu, 30 Jul 2009 23:06:06 +0200 wenzelm added Multithreading.sync_wait, which turns enabled interrupts to sync ones, to ensure that wait will reaquire its lock when interrupted;
Tue, 28 Jul 2009 16:30:23 +0200 wenzelm eliminated separate Future.enabled -- let Future.join fail explicitly in critical section, instead of entering sequential mode silently;
Tue, 28 Jul 2009 15:10:15 +0200 wenzelm future result: Synchronized.var;
Tue, 28 Jul 2009 14:35:27 +0200 wenzelm Task_Queue.dequeue: explicit thread;
Tue, 28 Jul 2009 14:29:25 +0200 wenzelm more precise treatment of scheduler_event: continous pulse (50ms) instead of flooding, which was burning many CPU cycles in spare threads;
Tue, 28 Jul 2009 14:11:15 +0200 wenzelm interruptible_task: unified treatment of Multithreading.with_attributes (cf. 9f6461b1c9cc);
Tue, 28 Jul 2009 14:04:33 +0200 wenzelm misc tuning;
Mon, 27 Jul 2009 17:36:30 +0200 wenzelm interruptible: Thread.testInterrupt before changing thread attributes;
Mon, 27 Jul 2009 17:12:19 +0200 wenzelm wait: absorb spurious interrupts;
Mon, 27 Jul 2009 16:53:28 +0200 wenzelm scheduler: shutdown spontaneously (after some delay) if queue is empty;
Mon, 27 Jul 2009 16:08:41 +0200 wenzelm join_next: do not yield, even if overloaded, to minimize "running" tasks;
Mon, 27 Jul 2009 15:53:43 +0200 wenzelm tuned tracing;
Mon, 27 Jul 2009 15:30:21 +0200 wenzelm cancel: improved reactivity due to more careful broadcasting;
Mon, 27 Jul 2009 15:06:33 +0200 wenzelm dequeue_towards: always return active tasks;
Mon, 27 Jul 2009 13:32:23 +0200 wenzelm removed unused low-level interrupts;
less more (0) -50 -28 tip