This page has been visited 5216 times.
Table of Content (hide)
User locations are in general stored in memory for faster searches. Up to OpenSIPS 1.6.0 they were held in a hash-table for faster searching. The trunk (OpenSIPS 1.7.0 (devel)) contains a new version that combines the use of hash-tables and balanced search trees.
The tests were conducted in order to determine the real gain of the balanced search trees in cases with many registered users.
Hash-tables supply a constant query time as long as they are not loaded too much. After a certain limit search time rises linear with the number of registered users. Balanced search trees are used to prevent this from happening.
The tests were done using OpenSIPS 1.6.0 as reference point for search time. OpenSIPS 1.7.0 (devel) is the candidate whose performance was measured.
The test was performed with a constant number of 100.000 registered users. Queries were done for users registered at different times ( in the original implementation query time was dependant on how close a user was to the begining of the list).
-> BOOST = 3.25 times faster