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
|