aboutsummaryrefslogtreecommitdiff
path: root/lib/git/async/pool.py
AgeCommit message (Collapse)Author
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-07changed scheduling and chunksize calculation in respect to the ↵Sebastian Thiel
task.min_count, to fix theoretical option for a deadlock in serial mode, and unnecessary blocking in async mode
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-06Plenty of fixes in the chunking routine, made possible by a serialized ↵Sebastian Thiel
chunking test. Next up, actual async processing
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-06Improved pool design and started rough implementation, top down to learn ↵Sebastian Thiel
while going. Tests will be written soon for verification, its still quite theoretical
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