src/Pure/Concurrent/task_queue.ML
Wed, 06 Jan 2010 18:14:16 +0100 wenzelm eliminated cache, which complicates the code without making a real difference (NB: deque_towards often disrupts caching, and daisy-chaining of workers already reduces queue overhead);
Wed, 06 Jan 2010 15:07:56 +0100 wenzelm tasks of canceled groups are considered "ready" -- enables to purge the queue from tasks depending on unfinished promises (also improves general reactivity);
Tue, 05 Jan 2010 23:38:10 +0100 wenzelm added Future.promise/fulfill -- promised futures that are fulfilled by external means;
Thu, 01 Oct 2009 16:27:13 +0200 wenzelm added Task_Queue.depend (again) -- light-weight version for transitive graph;
Wed, 30 Sep 2009 22:20:58 +0200 wenzelm eliminated redundant bindings;
Tue, 28 Jul 2009 14:54:53 +0200 wenzelm group status: Synchronized.var;
Tue, 28 Jul 2009 14:43:46 +0200 wenzelm tuned;
Tue, 28 Jul 2009 14:35:27 +0200 wenzelm Task_Queue.dequeue: explicit thread;
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;
Mon, 27 Jul 2009 12:24:27 +0200 wenzelm tuned signature;
Mon, 27 Jul 2009 12:00:02 +0200 wenzelm enqueue/finish: return minimal/maximal state of this task;
Sat, 25 Jul 2009 14:58:45 +0200 wenzelm dequeue_towards: need to try imm_preds as well;
Sat, 25 Jul 2009 14:18:26 +0200 wenzelm enqueue: maintain transitive closure, which simplifies dequeue_towards;
Tue, 21 Jul 2009 20:37:31 +0200 wenzelm support for nested groups -- cancellation is propagated to peers and subgroups;
Tue, 21 Jul 2009 15:25:22 +0200 wenzelm propagate exceptions within future groups;
Tue, 21 Jul 2009 10:23:16 +0200 wenzelm tuned dequeu_towards: try immediate tasks before expensive all_preds;
Sun, 19 Jul 2009 14:14:25 +0200 wenzelm recovered a version of dequeue_towards (cf. bb7b5a5942c7);
Sat, 18 Jul 2009 22:51:29 +0200 wenzelm added group_id;
Thu, 09 Jul 2009 22:01:41 +0200 wenzelm renamed functor TableFun to Table, and GraphFun to Graph;
Sun, 14 Jun 2009 23:25:49 +0200 wenzelm removed obsolete depend, add_job_acyclic;
Sat, 13 Jun 2009 19:40:37 +0200 wenzelm simplified join_results: no longer work "towards" deps, which simplifies task queue management and maintains strict bottom up discipline (without "transfer of priority" to required futures);
Tue, 06 Jan 2009 13:43:17 +0100 wenzelm added is_valid;
Sun, 04 Jan 2009 00:00:03 +0100 wenzelm cancel: unique threads;
Sat, 03 Jan 2009 21:44:24 +0100 wenzelm added eq_group;
Tue, 16 Dec 2008 16:25:19 +0100 wenzelm renamed structure TaskQueue to Task_Queue;
Tue, 16 Dec 2008 00:19:47 +0100 wenzelm tuned enqueue: plain add_edge, acyclic not required here;
Sat, 06 Dec 2008 00:02:11 +0100 wenzelm added new_task;
Thu, 09 Oct 2008 20:53:20 +0200 wenzelm added invalidate_group;
Sat, 27 Sep 2008 18:18:08 +0200 wenzelm dequeue_towards: return bound for unfinished tasks;
Tue, 23 Sep 2008 15:48:54 +0200 wenzelm IntGraph.del_node;
Fri, 19 Sep 2008 21:22:31 +0200 wenzelm future tasks: support boolean priorities (true = high, false = low/irrelevant);
Thu, 11 Sep 2008 21:04:07 +0200 wenzelm added is_empty;
Thu, 11 Sep 2008 18:07:58 +0200 wenzelm added focus, which indicates a particular collection of high-priority tasks;
Wed, 10 Sep 2008 23:19:36 +0200 wenzelm tuned;
Wed, 10 Sep 2008 19:44:28 +0200 wenzelm cancel: invalidate group implicitly, via bool ref;
Tue, 09 Sep 2008 23:30:00 +0200 wenzelm simplified dequeue: provide Thread.self internally;
Tue, 09 Sep 2008 20:22:40 +0200 wenzelm eliminated cache, access queue efficiently via IntGraph.get_first;
Tue, 09 Sep 2008 16:59:48 +0200 wenzelm human-readable printing of TaskQueue.task/group;
Tue, 09 Sep 2008 16:29:32 +0200 wenzelm job: explicit 'ok' status -- false for canceled jobs;
Mon, 08 Sep 2008 21:08:30 +0200 wenzelm proper signature constraint;
Mon, 08 Sep 2008 20:33:27 +0200 wenzelm moved thread data to future.ML (again);
Mon, 08 Sep 2008 16:08:18 +0200 wenzelm Ordered queue of grouped tasks.
less more (0) tip