diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2011-11-30 10:27:57 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2011-11-30 10:27:57 +0000 |
| commit | 2dc193878d2abd8cc8b0d70f3fb8d9cb27aa1351 (patch) | |
| tree | 9a08f55f775b9ba899df20ba5e2613416acb199e /quickcheck | |
| parent | 8d9e6661f74372f26c244f0cf7b389dc64e9983d (diff) | |
| download | rabbitmq-server-git-2dc193878d2abd8cc8b0d70f3fb8d9cb27aa1351.tar.gz | |
reduce time complexity of binding removal on queue deletion
from O(n^2) to O(n).
The solution comes in two parts:
1) a new table, rabbit_topic_trie_node, to explicitly track edge and
binding counts of nodes in the trie. This eliminates expensive
mnesia:match_object operations to determine these counts when needed.
2) table-scope write locks to eliminate row-level locking, which is
expensive when there are many such locks in a single transaction
Diffstat (limited to 'quickcheck')
0 files changed, 0 insertions, 0 deletions
