Tue, 14 May 2013 20:46:09 +0200 |
wenzelm |
more uniform Markup.print_real;
|
file |
diff |
annotate
|
Tue, 09 Apr 2013 15:59:02 +0200 |
wenzelm |
clarified protocol_message undefinedness;
|
file |
diff |
annotate
|
Mon, 08 Apr 2013 15:44:09 +0200 |
wenzelm |
discontinued odd magic number, which was once used for performance measurements;
|
file |
diff |
annotate
|
Tue, 05 Mar 2013 11:37:01 +0100 |
wenzelm |
removed unused Future.flat, while leaving its influence of Future.map (see bcd6b1aa4db5);
|
file |
diff |
annotate
|
Sun, 03 Mar 2013 17:34:42 +0100 |
wenzelm |
more uniform Future.map: always internalize failure;
|
file |
diff |
annotate
|
Tue, 26 Feb 2013 13:38:34 +0100 |
wenzelm |
disallow shutdown from worker, which would lead to deadlock since the scheduler cannot terminate;
|
file |
diff |
annotate
|
Tue, 26 Feb 2013 13:05:48 +0100 |
wenzelm |
signal work_available should be sufficient to initiate daisy-chained workers, and lead to separate broadcast work_finished eventually -- NB: broadcasting all worker threads tends to burn parallel CPU cycles;
|
file |
diff |
annotate
|
Tue, 26 Feb 2013 12:50:52 +0100 |
wenzelm |
less eventful shutdown: merely wait for scheduler to terminate;
|
file |
diff |
annotate
|
Tue, 26 Feb 2013 12:46:47 +0100 |
wenzelm |
tuned messages;
|
file |
diff |
annotate
|
Thu, 24 Jan 2013 17:31:12 +0100 |
wenzelm |
report status more frequently on demand;
|
file |
diff |
annotate
|
Sat, 19 Jan 2013 00:00:29 +0100 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Fri, 18 Jan 2013 17:51:50 +0100 |
wenzelm |
more systematic task statistics;
|
file |
diff |
annotate
|
Fri, 18 Jan 2013 16:20:09 +0100 |
wenzelm |
added "tasks_proof" statistics, via slighly odd global reference Future.forked_proofs (NB: Future.report_status is intertwined with scheduler thread);
|
file |
diff |
annotate
|
Thu, 17 Jan 2013 12:04:52 +0100 |
wenzelm |
clarified Future.error_msg: slightly more robust id check, actually suppress displaced messages;
|
file |
diff |
annotate
|
Wed, 16 Jan 2013 21:39:43 +0100 |
wenzelm |
proper runtime position (cf. fe4714886d92 and Toplevel.error_msg) -- to make error messages actually appear in the document;
|
file |
diff |
annotate
|
Wed, 16 Jan 2013 20:41:29 +0100 |
wenzelm |
identify future results more carefully, to avoid odd duplication of error messages, notably from forked goals;
|
file |
diff |
annotate
|
Wed, 16 Jan 2013 16:26:36 +0100 |
wenzelm |
more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
|
file |
diff |
annotate
|
Wed, 16 Jan 2013 11:25:26 +0100 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Wed, 02 Jan 2013 13:50:59 +0100 |
wenzelm |
inline ML statistics into build log;
|
file |
diff |
annotate
|
Tue, 01 Jan 2013 21:55:46 +0100 |
wenzelm |
more robust report_status: tolerate ML_statistics even if ignored right now, e.g. in batch build;
|
file |
diff |
annotate
|
Fri, 07 Dec 2012 23:11:01 +0100 |
wenzelm |
final report_status within SYNCHRONIZED part of scheduler loop: required for sanity of data;
|
file |
diff |
annotate
|
Thu, 29 Nov 2012 10:45:25 +0100 |
wenzelm |
more uniform ML statistics;
|
file |
diff |
annotate
|
Wed, 28 Nov 2012 17:18:53 +0100 |
wenzelm |
some support for ML runtime statistics;
|
file |
diff |
annotate
|
Fri, 19 Oct 2012 12:08:13 +0200 |
wenzelm |
clarified Future.map (again): finished value is mapped in-place, which saves task structures and changes error behaviour slightly (tolerance against canceled group of old value etc.);
|
file |
diff |
annotate
|
Thu, 18 Oct 2012 13:53:02 +0200 |
wenzelm |
more uniform group for map_future, which is relevant for cancel in worker_task vs. future_job -- prefer peer group despite 81d03a29980c;
|
file |
diff |
annotate
|
Thu, 18 Oct 2012 12:47:30 +0200 |
wenzelm |
tuned comment;
|
file |
diff |
annotate
|
Thu, 18 Oct 2012 12:00:27 +0200 |
wenzelm |
more official Future.terminate;
|
file |
diff |
annotate
|
Wed, 17 Oct 2012 21:18:32 +0200 |
wenzelm |
more robust cancel_now: avoid shooting yourself in the foot;
|
file |
diff |
annotate
|
Thu, 30 Aug 2012 15:26:37 +0200 |
wenzelm |
refined status of forked goals;
|
file |
diff |
annotate
|
Wed, 11 Apr 2012 13:49:09 +0200 |
wenzelm |
more robust Future.fulfill wrt. duplicate assignment and interrupt;
|
file |
diff |
annotate
|
Wed, 11 Apr 2012 12:15:56 +0200 |
wenzelm |
always signal after cancel_group: passive tasks may have become active;
|
file |
diff |
annotate
|
Mon, 09 Apr 2012 17:22:23 +0200 |
wenzelm |
simplified Future.cancel/cancel_group (again) -- running threads only;
|
file |
diff |
annotate
|
Mon, 28 Nov 2011 22:05:32 +0100 |
wenzelm |
separate module for concrete Isabelle markup;
|
file |
diff |
annotate
|
Thu, 13 Oct 2011 22:50:35 +0200 |
wenzelm |
static dummy_task (again) to avoid a few extra allocations;
|
file |
diff |
annotate
|
Tue, 23 Aug 2011 17:43:06 +0200 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Tue, 23 Aug 2011 16:39:21 +0200 |
wenzelm |
discontinued slightly odd Future/Lazy.get_finished, which do not really fit into the execution model of Future.cancel/join_tasks (canceled tasks need to be dequeued and terminated explicitly);
|
file |
diff |
annotate
|
Tue, 23 Aug 2011 15:48:41 +0200 |
wenzelm |
some support for toplevel printing wrt. editor perspective (still inactive);
|
file |
diff |
annotate
|
Sun, 21 Aug 2011 13:23:29 +0200 |
wenzelm |
purely functional task_queue.ML -- moved actual interrupt_unsynchronized to future.ML;
|
file |
diff |
annotate
|
Sat, 20 Aug 2011 15:52:29 +0200 |
wenzelm |
added Future.joins convenience;
|
file |
diff |
annotate
|
Fri, 19 Aug 2011 17:39:37 +0200 |
wenzelm |
tuned signature (again);
|
file |
diff |
annotate
|
Fri, 19 Aug 2011 16:13:26 +0200 |
wenzelm |
tuned signature -- treat structure Task_Queue as private to implementation;
|
file |
diff |
annotate
|
Fri, 19 Aug 2011 15:56:26 +0200 |
wenzelm |
refined Future.cancel: explicit future allows to join actual cancellation;
|
file |
diff |
annotate
|
Fri, 19 Aug 2011 14:01:20 +0200 |
wenzelm |
Future.promise: explicit abort operation (like uninterruptible future job);
|
file |
diff |
annotate
|
Fri, 19 Aug 2011 12:51:14 +0200 |
wenzelm |
more focused use of Multithreading.interrupted: retain interrupts within task group boundary, without loss of information;
|
file |
diff |
annotate
|
Fri, 19 Aug 2011 12:03:44 +0200 |
wenzelm |
clarified Future.cond_forks: more uniform handling of exceptional situations;
|
file |
diff |
annotate
|
Thu, 18 Aug 2011 16:07:58 +0200 |
wenzelm |
tuned comments;
|
file |
diff |
annotate
|
Wed, 17 Aug 2011 23:37:23 +0200 |
wenzelm |
identify parallel exceptions where they emerge first -- to achieve unique results within evaluation graph;
|
file |
diff |
annotate
|
Wed, 17 Aug 2011 22:14:22 +0200 |
wenzelm |
more systematic handling of parallel exceptions;
|
file |
diff |
annotate
|
Mon, 15 Aug 2011 19:27:55 +0200 |
wenzelm |
explicit check of finished evaluation;
|
file |
diff |
annotate
|
Sat, 13 Aug 2011 00:34:54 +0200 |
wenzelm |
immediate fork of initial workers -- avoid 5 ticks (250ms) for adaptive scheme (a07558eb5029);
|
file |
diff |
annotate
|
Wed, 10 Aug 2011 16:26:05 +0200 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Wed, 10 Aug 2011 16:05:14 +0200 |
wenzelm |
future_job: explicit indication of interrupts;
|
file |
diff |
annotate
|
Wed, 10 Aug 2011 14:28:55 +0200 |
wenzelm |
synchronized cancel and flushing of Multithreading.interrupted state, to ensure that interrupts stay within task boundaries;
|
file |
diff |
annotate
|
Wed, 10 Aug 2011 14:04:45 +0200 |
wenzelm |
tuned source structure;
|
file |
diff |
annotate
|
Sat, 23 Jul 2011 22:22:21 +0200 |
wenzelm |
make double-sure that interrupts are flushed before executing new work (cf. 22f8c2483bd2);
|
file |
diff |
annotate
|
Sat, 23 Jul 2011 21:29:56 +0200 |
wenzelm |
more detailed tracing;
|
file |
diff |
annotate
|
Mon, 11 Jul 2011 22:55:47 +0200 |
wenzelm |
tuned signature -- corresponding to Scala version;
|
file |
diff |
annotate
|
Tue, 05 Jul 2011 11:16:37 +0200 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Thu, 23 Jun 2011 23:12:00 +0200 |
wenzelm |
more robust join_results: join_work needs to be uninterruptible, otherwise the task being dequeued by join_next might be never executed/finished!
|
file |
diff |
annotate
|
Sat, 26 Mar 2011 21:28:04 +0100 |
wenzelm |
added Future.cond_forks convenience;
|
file |
diff |
annotate
|
Fri, 18 Feb 2011 16:11:58 +0100 |
wenzelm |
less verbose tracing;
|
file |
diff |
annotate
|
Wed, 09 Feb 2011 15:48:43 +0100 |
wenzelm |
tuned scope of Multithreading.interrupted vs. Multithreading.with_attributes;
|
file |
diff |
annotate
|
Tue, 08 Feb 2011 16:11:52 +0100 |
wenzelm |
explicit Multithreading.interrupted to ensure that interrupts stay within the boundaries of managed evaluation blocks;
|
file |
diff |
annotate
|
Fri, 04 Feb 2011 20:40:25 +0100 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Wed, 02 Feb 2011 20:32:50 +0100 |
wenzelm |
eliminated slightly odd abstract type Task_Queue.deps;
|
file |
diff |
annotate
|
Wed, 02 Feb 2011 15:04:09 +0100 |
wenzelm |
maintain Task_Queue.group within Task_Queue.task;
|
file |
diff |
annotate
|
Wed, 02 Feb 2011 13:38:09 +0100 |
wenzelm |
Future.join_results: discontinued post-hoc recording of dynamic dependencies;
|
file |
diff |
annotate
|
Tue, 01 Feb 2011 22:24:28 +0100 |
wenzelm |
more informative task timing: some dependency tracking;
|
file |
diff |
annotate
|
Tue, 01 Feb 2011 21:05:22 +0100 |
wenzelm |
refined task timing: joining vs. waiting;
|
file |
diff |
annotate
|
Mon, 31 Jan 2011 23:02:53 +0100 |
wenzelm |
tuned signature;
|
file |
diff |
annotate
|
Mon, 31 Jan 2011 22:57:01 +0100 |
wenzelm |
support named tasks, for improved tracing;
|
file |
diff |
annotate
|
Mon, 31 Jan 2011 21:54:49 +0100 |
wenzelm |
more direct Future.bulk, which potentially reduces overhead for Par_List;
|
file |
diff |
annotate
|
Mon, 31 Jan 2011 16:34:10 +0100 |
wenzelm |
added basic task timing;
|
file |
diff |
annotate
|
Tue, 09 Nov 2010 21:13:06 +0100 |
wenzelm |
explicitly identify forked/joined tasks;
|
file |
diff |
annotate
|
Tue, 02 Nov 2010 20:55:12 +0100 |
wenzelm |
simplified some time constants;
|
file |
diff |
annotate
|
Fri, 10 Sep 2010 14:54:08 +0200 |
wenzelm |
Future.promise: more robust treatment of concurrent abort vs. fulfill (amending 047c96f41455);
|
file |
diff |
annotate
|
Thu, 09 Sep 2010 17:20:27 +0200 |
wenzelm |
more abstract treatment of interrupts in structure Exn -- hardly ever need to mention Interrupt literally;
|
file |
diff |
annotate
|
Sun, 08 Aug 2010 19:36:31 +0200 |
wenzelm |
explicitly distinguish Output.status (essential feedback) vs. Output.report (useful markup);
|
file |
diff |
annotate
|
Thu, 22 Jul 2010 10:41:12 +0200 |
wenzelm |
tuned comments;
|
file |
diff |
annotate
|
Wed, 21 Jul 2010 13:25:14 +0200 |
wenzelm |
clarified/exported Future.worker_subgroup, which is already the default for Future.fork;
|
file |
diff |
annotate
|
Tue, 20 Jul 2010 17:35:42 +0200 |
wenzelm |
back to more strict dependencies, even for canceled groups (reverting parts of 02936e77a07c);
|
file |
diff |
annotate
|
Tue, 20 Jul 2010 14:44:33 +0200 |
wenzelm |
eliminated old-style sys_error/SYS_ERROR in favour of exception Fail -- after careful checking that there is no overlap with existing handling of that;
|
file |
diff |
annotate
|
Sun, 04 Jul 2010 21:01:22 +0200 |
wenzelm |
general Future.report -- also for Toplevel.async_state;
|
file |
diff |
annotate
|
Fri, 02 Jul 2010 20:44:17 +0200 |
wenzelm |
tuned white space;
|
file |
diff |
annotate
|
Mon, 31 May 2010 21:06:57 +0200 |
wenzelm |
modernized some structure names, keeping a few legacy aliases;
|
file |
diff |
annotate
|
Sat, 29 May 2010 15:31:15 +0200 |
wenzelm |
future result: retain plain Interrupt for vacuous group exceptions;
|
file |
diff |
annotate
|
Fri, 21 May 2010 21:28:31 +0200 |
wenzelm |
future_job: propagate current Position.thread_data to the forked job -- this is important to provide a default position, e.g. for parallelizied Goal.prove within a package (proper command transactions are wrapped via Toplevel.setmp_thread_position);
|
file |
diff |
annotate
|
Sat, 06 Feb 2010 22:06:18 +0100 |
wenzelm |
result: Single_Assignment.var;
|
file |
diff |
annotate
|
Wed, 06 Jan 2010 18:22:43 +0100 |
wenzelm |
more robust cancelation, notably of passive futures without scheduler running;
|
file |
diff |
annotate
|
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);
|
file |
diff |
annotate
|
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);
|
file |
diff |
annotate
|
Tue, 05 Jan 2010 23:38:10 +0100 |
wenzelm |
added Future.promise/fulfill -- promised futures that are fulfilled by external means;
|
file |
diff |
annotate
|
Thu, 05 Nov 2009 13:16:22 +0100 |
wenzelm |
scheduler: clarified interrupt attributes and handling;
|
file |
diff |
annotate
|
Thu, 05 Nov 2009 13:01:11 +0100 |
wenzelm |
worker_next: plain signalling via work_available only, not scheduler_event;
|
file |
diff |
annotate
|
Wed, 04 Nov 2009 21:22:35 +0100 |
wenzelm |
avoid broadcast work_available, use daisy-chained signal instead;
|
file |
diff |
annotate
|
Wed, 04 Nov 2009 20:31:36 +0100 |
wenzelm |
worker_next: treat wait for work_available as Sleeping, not Waiting;
|
file |
diff |
annotate
|
Wed, 04 Nov 2009 11:58:29 +0100 |
wenzelm |
worker activity: distinguish between waiting (formerly active) and sleeping;
|
file |
diff |
annotate
|
Wed, 04 Nov 2009 11:37:06 +0100 |
wenzelm |
tuned;
|
file |
diff |
annotate
|
Wed, 04 Nov 2009 11:30:22 +0100 |
wenzelm |
tuned thread data;
|
file |
diff |
annotate
|
Wed, 04 Nov 2009 00:29:58 +0100 |
wenzelm |
worker_next: ensure that work_available is passed on before sleeping (was occasionally lost when worker configuration changed, causing scheduler deadlock);
|
file |
diff |
annotate
|
Tue, 03 Nov 2009 19:52:09 +0100 |
wenzelm |
slightly leaner and more direct control of worker activity etc.;
|
file |
diff |
annotate
|
Thu, 22 Oct 2009 15:21:01 +0200 |
wenzelm |
use Synchronized.assign to achieve actual immutable results;
|
file |
diff |
annotate
|
Thu, 01 Oct 2009 16:27:13 +0200 |
wenzelm |
added Task_Queue.depend (again) -- light-weight version for transitive graph;
|
file |
diff |
annotate
|
Tue, 29 Sep 2009 11:49:22 +0200 |
wenzelm |
explicit indication of Unsynchronized.ref;
|
file |
diff |
annotate
|
Mon, 28 Sep 2009 12:09:18 +0200 |
wenzelm |
added fork_deps_pri;
|
file |
diff |
annotate
|
Tue, 22 Sep 2009 20:25:31 +0200 |
wenzelm |
full reserve of worker threads -- for improved CPU utilization;
|
file |
diff |
annotate
|
Sun, 20 Sep 2009 19:17:33 +0200 |
wenzelm |
tuned tracing;
|
file |
diff |
annotate
|
Sun, 20 Sep 2009 18:37:55 +0200 |
wenzelm |
scheduler backdoor: 9999 means 1 worker;
|
file |
diff |
annotate
|
Wed, 16 Sep 2009 22:46:10 +0200 |
wenzelm |
Synchronized.value does not require locking, since assigments are atomic;
|
file |
diff |
annotate
|
Thu, 27 Aug 2009 17:00:03 +0200 |
wenzelm |
tuned tracing;
|
file |
diff |
annotate
|
Sat, 01 Aug 2009 00:17:03 +0200 |
wenzelm |
future scheduler: uninterruptible cancelation;
|
file |
diff |
annotate
|
Sat, 01 Aug 2009 00:09:45 +0200 |
wenzelm |
renamed Multithreading.regular_interrupts to Multithreading.public_interrupts;
|
file |
diff |
annotate
|
Thu, 30 Jul 2009 23:37:53 +0200 |
wenzelm |
tuned tracing;
|
file |
diff |
annotate
|
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;
|
file |
diff |
annotate
|
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;
|
file |
diff |
annotate
|
Tue, 28 Jul 2009 15:10:15 +0200 |
wenzelm |
future result: Synchronized.var;
|
file |
diff |
annotate
|
Tue, 28 Jul 2009 14:35:27 +0200 |
wenzelm |
Task_Queue.dequeue: explicit thread;
|
file |
diff |
annotate
|
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;
|
file |
diff |
annotate
|
Tue, 28 Jul 2009 14:11:15 +0200 |
wenzelm |
interruptible_task: unified treatment of Multithreading.with_attributes (cf. 9f6461b1c9cc);
|
file |
diff |
annotate
|
Tue, 28 Jul 2009 14:04:33 +0200 |
wenzelm |
misc tuning;
|
file |
diff |
annotate
|