...
Test data used complies with Open ROADM YANG model.
Storing data nodes
A number of openroadm device nodes will be stored using CpsService::saveData.
Device nodes | 1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
Time (seconds) | 0.295 | 2.36 | 4.36 | 7.15 | 9.76 | 11.50 | 14.77 | 18.43 | 19.79 | 22.16 | 26.54 |
Observations
- Storing data nodes has linear time complexity (as expected).
- There are edge cases with worse complexity.
- Performance can be improved by enabling write batching (CPS-1795)
- There are edge cases with exponential complexity.
Updating data nodes
...
In this scenario, 1000 devices nodes are already defined. A number of these existing data nodes will be updated using CpsService::updateDataNodeAndDescendants.
Device nodes | 1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
Time (seconds) | 0.215 | 12.79 | 28.38 | 44.23 | 51.55 | 69.46 | 85.67 | 95.02 | 109.16 | 117.00 | 131.15 |
Observations
- Updating data nodes has linear time complexity (as expected).
- Updating is approximately 5.5 times slower than storing data nodes .
...
- (even if the updated data is identical to the existing data).
Updating data leaves
In this scenario, 1000 devices nodes are already defined. The data leaves of a number of these existing data nodes will be updated using CpsService::updateNodeLeaves.
Device nodes | 1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
Time (seconds) | .201 | .266 | .276 | .280 | .317 | .379 | .385 | .465 | .485 | .520 | .561 |
Observations
- Updating data leaves has linear time complexity.
Reading data
...
nodes
Cps Path Queries
Deleting data nodes
...