tcalmant / ipopo

iPOPO: a Service-Oriented Component Model for Python
https://ipopo.readthedocs.io/
Apache License 2.0
69 stars 28 forks source link

Try to optimize aggregated dependencies #46

Closed tcalmant closed 8 years ago

tcalmant commented 9 years ago

The @Requires injects lists in instances when working with aggregated dependencies. When a new dependency is found, it is appended to the list, which therefore not sorted according to service ranking, but keeps item in place.

We should check if using collections.deque would be more efficient, as it is optimized for right-append operations.

tcalmant commented 9 years ago

Commit 1406707 seems to increase the speed of the instantiation of multiple components, but decreases the speed of their destruction. (investigating)

tcalmant commented 9 years ago

The optimisation of the service registry gives a sufficient gain before releasing 0.6.3. The decrease of performance while stopping the framework will be investigated for 0.6.4.

tcalmant commented 8 years ago

The decrease of performance doesn't appear every time, and it seems to be due to the way data structures work. Therefore, they'll be no evolution on this issue unless the time needed to stop the framework cleanly causes real troubles.