[YANGTOOLS-482] Performance bottleneck Created: 31/Jul/15 Updated: 10/Apr/22 Resolved: 17/Aug/15 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Mina | Assignee: | Unassigned |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Attachments: |
|
| External issue ID: | 4074 |
| Description |
|
I opened the inventory rest-api in the browser and created 10 services on 2 nodes. Running against the Helium release, I can see so many invocation calls to the inventory while profiling. Please see attached for the profiling snapshots. |
| Comments |
| Comment by Mina [ 31/Jul/15 ] |
|
Attachment ODL_Yangtools_Inventory.png has been added with description: Inventory Rest-api |
| Comment by Martin Ciglan [ 03/Aug/15 ] |
|
Hi Mina Please refer to Lithium build. Thank you very much. Martin |
| Comment by Tony Tkacik [ 03/Aug/15 ] |
|
Hi Mina, do not see why this is bug, time you see is spent actually serializing out data you requested - serialization of data actually takes only 1.7 % of time, so I do not see this as a problem. What is your expected behaviour, what are you expecting to change? Otherwise I will close this as Resolved-Invalid - since "inventory" is not YANGTools issue |
| Comment by Mina [ 04/Aug/15 ] |
|
The reason it is logged against YangTools is the significant increase in the invocation calls when yangtools are called! Why one invocation call should go beyond 1800 calls? |
| Comment by Tony Tkacik [ 17/Aug/15 ] |
|
Call to process / write / read for each XML / JSON element - there were around 200 elements in one list (probably flow list). So given that you were serializing / deserializing 200 flows, 200 invocations makes sense. Closing it as INVALID. This call process data based on schema - each field in JSON, given that you had 200 flows, with 9 leaves gives you 1800 operations. Since this is generic framework invocation count makes sense. If you profiled any XML / JSON serialization framework you would observe same pattern (small methods invoked for each field for each object). |