Thomas Nagy
0a1d47c7ec
Initialize Parallel.processed at 0 not 1
2017-06-23 13:36:28 +02:00
Thomas Nagy
872052e5c7
Dependencies added after the build starts no longer raise assertions #1982
...
It appears that quite a few builds use the swig tool technique
of setting build dependencies after the build starts. Missing
entries in Runner/revdeps can make builds non-terminating.
2017-06-20 16:31:08 +02:00
Thomas Nagy
f49f162817
Rework the priority system
...
- Have Task.weight apply to the current task only
- Do not rely on object addresses to set the build order
- Introduce tg.tg_idx_count to count task generators
- Enable propagating/non-propagating weights through Task.tree_weight/Task.weight
2017-06-16 00:14:32 +02:00
Thomas Nagy
e5e8397154
Change producer.outstanding.appendleft to producer.outstanding.append
2017-06-14 19:53:01 +02:00
Thomas Nagy
23c0d41aff
Schedule tasks using a priority queue
2017-06-14 18:59:28 +02:00
Thomas Nagy
ddce7d344e
Simplify assertion logic in Runner.py
2017-06-14 14:16:54 +02:00
Thomas Nagy
ef75def36a
Split incomplete tasks into DAG and non-DAG groups
2017-06-14 13:59:46 +02:00
Thomas Nagy
1d4ce07dea
Fix update->extend mismatch in Runner.py - work in progress #1982
2017-06-09 15:54:08 +02:00
Thomas Nagy
f75de87cf4
Complete the rename Runner.frozen -> Runner.incomplete #1982
2017-06-08 20:04:24 +02:00
Thomas Nagy
3e1e6586e5
Fix one regression on more_tasks #1981
2017-06-08 14:27:56 +02:00
Thomas Nagy
f72167b0e0
Fix one regression on more_tasks #1981
2017-06-07 19:07:27 +02:00
Thomas Nagy
8c32fade86
Improve Task group debugging in Runner.py
2017-04-22 22:09:23 +02:00
Thomas Nagy
14197b713f
Cleanup
2017-03-02 20:43:44 +01:00
Thomas Nagy
8560c18ccb
Process a given task group exactly one
2017-02-20 19:01:33 +01:00
Thomas Nagy
63a53064a3
Provide TaskGroups to replace mem_reducer
2017-02-19 19:58:19 +01:00
Thomas Nagy
497f028a95
Implement a new priority system
2017-02-12 15:29:16 +01:00
Thomas Nagy
b7d93c3c4d
Update the year in headers to 2017
2017-02-11 16:13:37 +01:00
Thomas Nagy
5ac8e882e0
Remove the TaskBase class hierarchy level
2017-02-11 15:04:25 +01:00
Thomas Nagy
57b406aaff
Add a task status 'canceled'
...
The purpose is to skip safely the tasks that have
missing dependencies due to build errors.
2017-01-21 23:47:44 +01:00
Thomas Nagy
4417a3c8c1
Minimize the amount of tasks displayed during the build #1828
2016-10-08 12:53:16 +02:00
Thomas Nagy
445e989594
Unnecessary __slots__ annotation on thread subclass
2016-09-04 16:21:03 +02:00
Thomas Nagy
ef6525c0bf
Api docs
2016-06-25 14:49:27 +02:00
Thomas Nagy
b59a04a086
Moved the garbage collection code to the object owner
2016-04-28 20:12:20 +02:00
Thomas Nagy
a8a918763f
Missing output with -j1
2016-03-03 23:36:18 +01:00
Thomas Nagy
08a39b7b19
Ironpython does not have += on deques
2016-02-28 11:37:00 +01:00
Thomas Nagy
126fc7e4b4
Missing piece of code
2016-02-28 11:30:18 +01:00
Thomas Nagy
df956ed5c5
Better task cleanup logic
2016-02-28 10:13:03 +01:00
Thomas Nagy
248d89e85b
Use deques
2016-02-28 10:01:43 +01:00
Thomas Nagy
9dbcc4274b
Fixed the broken logic in process execution
2016-02-27 09:37:04 +01:00
Thomas Nagy
8207a878a9
Enable multiprocessing for faster subprocess execution
2016-02-25 20:03:07 +01:00
Thomas Nagy
4be840bd7a
Reduced Task size (~700B/task)
2016-02-15 00:46:35 +01:00
Thomas Nagy
5a3a89b4de
Stop adding incompatible task data into the same dict objects
2015-12-24 18:36:48 +01:00
Thomas Nagy
6c34e2a654
Force scanner functions to run after task failures - Issue 1660
2015-11-20 17:15:33 +01:00
Thomas Nagy
1b34dadd88
Re-added Parallel.error_handler
2014-01-04 11:04:59 +01:00
Thomas Nagy
8ae91879ce
Revert 2f7d561cb0
- there are regressions and the performance improvement is in Pypy only
2014-01-03 22:32:58 +01:00
Thomas Nagy
5032695f26
Simplified the error handling on task status in Runner.py (API change)
2014-01-03 18:22:34 +01:00
Thomas Nagy
2f7d561cb0
Runtime improvements in Runner.py by using deques by default (python >= 2.4)
2014-01-02 23:35:17 +01:00
Thomas Nagy
5fc835639e
Encapsulate task skipping in a method to help with the shrinking sets feature
2014-01-02 20:21:45 +01:00
Thomas Nagy
d963163471
reverting the latest changes to Runner.py, there is a very good reason to use atexit
2012-04-14 19:52:38 +02:00
Thomas Nagy
5448e23e40
Python is getting a bit better at threading, we do not need to recycle threads anymore
2012-04-09 23:17:31 +02:00
Thomas Nagy
63d3442ad2
remove more except: lines
2012-02-11 14:43:07 +01:00
Thomas Nagy
f5f73429d4
reverting the previous changes to runner.py, need to think more about it
2012-02-06 03:08:12 +01:00
Thomas Nagy
e0bf42db95
missing change
2012-02-06 02:48:07 +01:00
Thomas Nagy
2eebd14dcd
move the task error handler to the method error_handler
2012-02-06 02:25:10 +01:00
Thomas Nagy
3460a01464
more tricks on forcing specific build orders
2012-01-08 15:41:08 +01:00
Thomas Nagy
f9754ac7d5
another experimental module for stopping as early as possible when errors occur with -k
2011-11-05 23:57:17 +01:00
Thomas Nagy
0647d2aaee
change the error message verbosity
2011-10-09 20:55:38 +02:00
Thomas Nagy
df22b83466
missing import
2011-10-05 20:04:19 +02:00
Thomas Nagy
2baaf78394
If there is no previous error, and if an exception occurs while in -k, then that error must be displayed
2011-10-04 21:42:32 +02:00
Thomas Nagy
c1a0bc1f3b
In verbose mode with -k, display the complete error messages
2011-10-04 21:31:01 +02:00