aboutsummaryrefslogtreecommitdiff
path: root/lib/git/async/thread.py
AgeCommit message (Collapse)Author
2010-06-09thread: fixed initialization problem if an empty iterable was handed inSebastian Thiel
queue: Queue now derives from deque directly, which safes one dict lookup as the queue does not need to be accessed through self anymore pool test improved to better verify threads are started correctly
2010-06-09queue: fixed critical bug in the notify method, as it was not at all ↵Sebastian Thiel
thread-safe, causing locks to be released multiple times. Now it runs very fast, and very stable apparently. Now its about putting previous features back in, and studying their results, before more complex task graphs can be examined
2010-06-08workerthread: adjusted to use a blocking queue, it will receive termination ↵Sebastian Thiel
events only with its queue, with boosts performance into brigt green levels
2010-06-08Its getting better already - intermediate commit before further chaning the ↵Sebastian Thiel
task class
2010-06-07Moved pool utilities into util module, fixed critical issue that caused ↵Sebastian Thiel
havok - lets call this a safe-state
2010-06-07added high-speed locking facilities, allowing our Queue to be faster, at ↵Sebastian Thiel
least in tests, and with multiple threads. There is still an sync bug in regard to closed channels to be fixed, as the Task.set_done handling is incorrecft
2010-06-07Added task order cache, and a lock to prevent us walking the graph while ↵Sebastian Thiel
changing tasks Now processing more items to test performance, in dual-threaded mode as well, and its rather bad, have to figure out the reason for this, probably gil, but queues could help
2010-06-07pool.consumed_tasks: is now a queue to be thread safe, in preparation for ↵Sebastian Thiel
multiple connected pools Reduced waiting time in tests to make them complete faster
2010-06-07pool: First version which works as expected in async mode. Its just using a ↵Sebastian Thiel
single task for now, but next up are dependent tasks
2010-06-06First step of testing the pool - tasks have been separated into a new module ↵Sebastian Thiel
including own tests, their design improved to prepare them for some specifics that would be needed for multiprocessing support
2010-06-06thread: adjusted worker thread not to provide an output queue anymore - this ↵Sebastian Thiel
is handled by the task system graph: implemented it including test according to the pools requirements pool: implemented set_pool_size
2010-06-05Renamed mp to async, as this is a much better name for what is actually ↵Sebastian Thiel
going on. The default implementation uses threads, which ends up being nothing more than async, as they are all locked down by internal and the global interpreter lock