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.

What are the theoretical gains ?

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.

Performance tests

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.

Search performance tests

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).

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 contains a new version that combines the use of hash-tables and balanced search trees.

to:

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.

Changed line 15 from:

Hash-tables supply a constant query time as long as they are not loaded to 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.

to:

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 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).

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 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.

What are the theoretical gains ?

Hash-tables supply a constant query time as long as they are not loaded to 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.

Performance tests

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.

Tests were performed with 100000 registered users.

DB Authentication test

This test (using auth_db module) was focus in measuring he gain of a simple query: