- 19 Mar, 2018 40 commits
-
-
Alex Willmer authored
Tests should now match changes in 4d31300dd09ae7aaa394e53a48102167521f3f91
-
Alex Willmer authored
Since f44356af3275912f7df78fa58e860f107a71e7e5 mitogen.core.Importer() takes a Router instance.
-
Alex Willmer authored
As of adc8fe3aed470de55a6e5ea3d7c6a31f7c6d1ff1 Receiver objects do not have a get_data() method and Receiver.get() does not unpickle the message.
-
Alex Willmer authored
As of adc8fe3aed470de55a6e5ea3d7c6a31f7c6d1ff1 Receiver objects do not have a get_data() method and Receiver.get() does not unpickle the message.
-
Alex Willmer authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Turns out it is far too easy to burn through available file descriptors, so try something else: self-pipes are per thread, and only temporarily associated with a Lack that wishes to sleep. Reduce pointless locking by giving Latch its own queue, and removing Queue.Queue() use in some places. Temporarily undo merging of of Waker and Latch, let's do this one step at a time.
-
David Wilson authored
On Python 2.x, operations on pthread objects with a timeout set actually cause internal polling. When polling fails to yield a positive result, it quickly backs off to a 50ms loop, which results in a huge amount of latency throughout. Instead, give up using Queue.Queue.get(timeout=...) and replace it with the UNIX self-pipe trick. Knocks another 45% off my.yml in the Ansible examples directory against a local VM. This has the potential to burn a *lot* of file descriptors, but hell, it's not the 1940s any more, RAM is all but infinite. I can live with that. This gets things down to around 75ms per playbook step, still hunting for additional sources of latency.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Now featuring one roundtrip per module invocation.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Fix a MyPy warning by only passing lists to select.select(). At least on Python 2.x, select.select() was internally converting the sets to lists anyway. By the time lists become inefficient here, it is likely that select.select() itself will also be inefficient, and need replaced with .poll() or similar. No discernible performance different when transferring django.db.models to a local VM.
-
David Wilson authored
-
David Wilson authored
* Children should never generate a request for a module that has already been sent, however there are a variety of edge cases where, e.g. asynchronous calls are made into unloaded modules in a set of children, causing those children to request modules (and deps) in a different order, which might break deduplication. So add a warning to catch when this happens, so we can figure out how to handle it. Meanwhile it's only a warning since in the worst case, this just adds needless latency. * Don't bother treating sent packages separately, there doesn't seem to be any need for this (after docs are updated to match how preloading actually works now).
-
David Wilson authored
Overwriting 'fullname' variable caused basically nonsensical filtering. Result was including the module being searched in the list of dependencies, which was causing ModuleResponder to send it early, which was causing contexts to start importing the module before preloading of dependencies had completed.
-
David Wilson authored
-
David Wilson authored
* SIGTERM safety net prevents profiler from writing results, so disable it when profiling is active. * fix warning corrupting stream when profiling=True
-
David Wilson authored
Knocks 4kb off network footprint for a proxy connection.
-
David Wilson authored
-