src/Pure/Concurrent/future.ML
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:16:58 +0200 wenzelm tuned;
Mon, 27 Jul 2009 12:11:18 +0200 wenzelm more specific conditions: scheduler_event, work_available, work_finished -- considereably reduces overhead with many threads;
Sat, 25 Jul 2009 00:53:47 +0200 wenzelm tuned tracing;
Wed, 22 Jul 2009 10:46:35 +0200 wenzelm future_job: more robust Exn.capture outside thread attribute change;
Tue, 21 Jul 2009 23:42:29 +0200 wenzelm future_job: tight scope for interrupts, to prevent shooting ourselves in the foot via cancel_group;
Tue, 21 Jul 2009 20:37:31 +0200 wenzelm added worker_group;
Tue, 21 Jul 2009 15:25:22 +0200 wenzelm propagate exceptions within future groups;
Tue, 21 Jul 2009 13:42:48 +0200 wenzelm tuned;
Tue, 21 Jul 2009 11:30:12 +0200 wenzelm tuned tracing;
Sun, 19 Jul 2009 18:02:40 +0200 wenzelm more abstract Future.is_worker;
Sun, 19 Jul 2009 14:14:25 +0200 wenzelm recovered a version of dequeue_towards (cf. bb7b5a5942c7);
Sat, 18 Jul 2009 22:52:31 +0200 wenzelm scheduler: tuned tracing (status);
Sun, 14 Jun 2009 23:24:38 +0200 wenzelm simplified join: do not record dependencies (which are slow, but were only required for dequeue_towards);
Sun, 14 Jun 2009 02:21:46 +0200 wenzelm tuned join: produce less garbage while waiting;
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);
Mon, 23 Mar 2009 11:20:46 +0100 wenzelm future scheduler: reduced wait timeout if tasks need to be canceled -- to improve reactivity of interrupts;
Sat, 21 Mar 2009 13:11:12 +0100 wenzelm restricted interrupts for tasks running as future worker thread -- attempt to prevent interrupt race conditions;
Fri, 20 Mar 2009 20:20:09 +0100 wenzelm future_job: do not inherit attributes, but enforce restricted interrupts -- attempt to prevent interrupt race conditions;
Sun, 18 Jan 2009 16:42:43 +0100 wenzelm join_results: when dependencies are resulved (but not finished yet),
Sat, 10 Jan 2009 16:53:12 +0100 wenzelm added cancel_group;
Wed, 07 Jan 2009 17:26:03 +0100 wenzelm more robust propagation of errors through bulk jobs;
Tue, 06 Jan 2009 13:46:48 +0100 wenzelm tuned map: reduced overhead due to bulk jobs;
Sat, 03 Jan 2009 21:45:53 +0100 wenzelm more reactive scheduler: reduced loop timeout, propagate broadcast interrupt via TaskQueue.cancel_all;
Tue, 16 Dec 2008 16:25:18 +0100 wenzelm renamed structure TaskQueue to Task_Queue;
Tue, 16 Dec 2008 12:13:53 +0100 wenzelm removed old scheduler;
Sat, 06 Dec 2008 00:01:57 +0100 wenzelm added constant value;
Thu, 04 Dec 2008 23:46:20 +0100 wenzelm fork/map: no inheritance of group (structure is nested, not parallel);
Thu, 04 Dec 2008 23:00:27 +0100 wenzelm renamed type Future.T to future;
Tue, 21 Oct 2008 16:53:00 +0200 wenzelm join_results: allow CRITICAL join of finished futures;
Tue, 21 Oct 2008 15:01:18 +0200 wenzelm added Future.enabled check;
Mon, 13 Oct 2008 15:48:37 +0200 wenzelm SimpleThread.synchronized;
Thu, 09 Oct 2008 21:34:11 +0200 wenzelm replaced str_of by general peek;
Thu, 09 Oct 2008 20:53:15 +0200 wenzelm future result: Interrupt invalidates group, but pretends success otherwise;
Wed, 08 Oct 2008 20:37:44 +0200 wenzelm less tracing;
Wed, 08 Oct 2008 20:21:34 +0200 wenzelm more careful handling of group interrupts;
Fri, 03 Oct 2008 00:21:48 +0200 wenzelm tuned tracing;
Fri, 03 Oct 2008 00:12:13 +0200 wenzelm slower heartbeat;
Thu, 02 Oct 2008 23:52:12 +0200 wenzelm added simple heartbeat thread;
Thu, 02 Oct 2008 23:30:44 +0200 wenzelm more tuning of tracing messages;
Thu, 02 Oct 2008 19:59:00 +0200 wenzelm tuned SYNCHRONIZED: outermost Exn.release;
Wed, 01 Oct 2008 12:00:01 +0200 wenzelm removed release_results (cf. Exn.release_all, Exn.release_first);
Tue, 30 Sep 2008 22:02:45 +0200 wenzelm renamed Future.fork_irrelevant to Future.fork_background;
Mon, 29 Sep 2008 21:26:46 +0200 wenzelm added str_of;
Sun, 28 Sep 2008 12:23:45 +0200 wenzelm proper setmp_thread_data for nested execute (cf. join_loop);
Sun, 28 Sep 2008 00:00:55 +0200 wenzelm thread_data: include thread name, export access;
Sat, 27 Sep 2008 18:18:06 +0200 wenzelm added release_results (formerly in par_list.ML);
Sat, 27 Sep 2008 15:37:01 +0200 wenzelm more tracing;
Tue, 23 Sep 2008 15:48:53 +0200 wenzelm join_results: special case for empty list, works without multithreading;
Mon, 22 Sep 2008 15:26:14 +0200 wenzelm added is_finished;
Fri, 19 Sep 2008 21:22:31 +0200 wenzelm future tasks: support boolean priorities (true = high, false = low/irrelevant);
Wed, 17 Sep 2008 22:06:52 +0200 wenzelm shutdown only if Multithreading.available;
Tue, 16 Sep 2008 15:37:33 +0200 wenzelm SimpleThread.fork;
Thu, 11 Sep 2008 22:22:59 +0200 wenzelm cancel, shutdown: notify_all;
Thu, 11 Sep 2008 21:53:53 +0200 wenzelm eliminated requests, use global state variables uniformly;
Thu, 11 Sep 2008 21:04:05 +0200 wenzelm shutdown: global join-and-shutdown operation;
Thu, 11 Sep 2008 18:07:58 +0200 wenzelm added focus, which indicates a particular collection of high-priority tasks;
Thu, 11 Sep 2008 13:43:42 +0200 wenzelm some general notes on future values;
Wed, 10 Sep 2008 23:28:09 +0200 wenzelm added interrupt_task (external id);
less more (0) -60 tip