-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance test result on validation is unstable #27
Comments
I got the same results, but I really don't know why. I spent on this two days, did some optimizations and bugfixing, but it is still similar - loading the same datastore 2 times takes more than 2 times of loading time of the same datastore only once. I've used the attached code to simulate the problem and from the perf stats you can see that the number of instructions are approximately corresponding, but loading the datastore once takes 57,7s while loading it twice takes 130,5s (instead of expected 115s). I've inspected even the perf's detailed records, I've tried to increase the process priority (
Any ideas? |
I did some more tests with modified BTW, I saw also some time differences even in case of running the test with the same parameters. According to the perf output, it seems that the differences were caused by CPU frequency which were changing (in my case) from 2.5 to 3.1 GHz. |
Sorry for late, I just had time to look into libyang again. I think your investigation results made sense. Maybe it is caused by CPU frequency changing. BTW, I didn't see similar functionality of edit_config and xml_diff realized by APIs of libyang. Where are there parts, will they be in libnetconf2? |
libyang is supposed to provide support for its use in NETCONF tools, but it is being separated from the NETCONF. Therefore, libyang allows you to manipulate with the data tree (add/remove/change a node), but implementation of NETCONF's edit-config is out of libyang scope. libnetconf2, in contrast to libnetconf, does not cover datastore implementation. We are going to implement edit-config and other NETCONF operations in Netopeer2 using sysrepo as a datastore. |
I tested several times for the same big datastore on data validation.
But the performance results are not stable. e.g., I got 48s, 71s, 80s, ...
The first time after yanglint starting up always got the minimum result.
attached the datastore3.zip, it is 50k interfaces.
The text was updated successfully, but these errors were encountered: