Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EmfIndex Comparison"
Line 14: | Line 14: | ||
This test measured the time which is needed to index x-times the content of Ecore.ecore. (Containing 393 instances of EObject and 520 references) | This test measured the time which is needed to index x-times the content of Ecore.ecore. (Containing 393 instances of EObject and 520 references) | ||
− | {| | + | {| border="1" |
|- | |- | ||
| <br> | | <br> | ||
Line 38: | Line 38: | ||
This test measured the in memory size of the index. In the SAP case, paging was disabled | This test measured the in memory size of the index. In the SAP case, paging was disabled | ||
− | {| | + | {| border="1" |
|- | |- | ||
| <br> | | <br> | ||
Line 62: | Line 62: | ||
=== Query All EObject and all EReferences === | === Query All EObject and all EReferences === | ||
− | {| | + | {| border="1" |
|- | |- | ||
| <br> | | <br> | ||
Line 80: | Line 80: | ||
|} | |} | ||
− | [[Image: | + | [[Image:EmfIndex ResponseTimeAllEObjects.png]]<br> |
=== Query all references targeting a certain resource === | === Query all references targeting a certain resource === | ||
− | {| | + | {| border="1" |
|- | |- | ||
| <br> | | <br> | ||
| 1 | | 1 | ||
− | | 2 | + | | 2 |
− | | 4 | + | | 4 |
− | | 8 | + | | 8 |
− | | 16 | + | | 16 |
− | | 32 | + | | 32 |
− | | 64 | + | | 64 |
| 128 | | 128 | ||
|- | |- | ||
Line 104: | Line 104: | ||
| 0,6 ms | | 0,6 ms | ||
| 0,6 ms | | 0,6 ms | ||
− | | 0,6 ms | + | | 0,6 ms |
|- | |- | ||
| Itemis | | Itemis | ||
| 5 ms | | 5 ms | ||
| 537 ms | | 537 ms | ||
− | | 3178 ms | + | | 3178 ms |
− | | 15190 ms | + | | 15190 ms |
− | | 65177 ms | + | | 65177 ms |
− | | 268899 ms | + | | 268899 ms |
| 1087066 ms | | 1087066 ms | ||
|} | |} | ||
− | [[Image: | + | [[Image:EmfIndex ResponseTimeBackwardNavi.png]]<br> |
=== Query all instances of "EClass" === | === Query all instances of "EClass" === | ||
− | {| | + | {| border="1" |
|- | |- | ||
| <br> | | <br> | ||
| 128 | | 128 | ||
− | | 256 | + | | 256 |
− | | 512 | + | | 512 |
− | | 1024 | + | | 1024 |
| 2048 | | 2048 | ||
|- | |- | ||
Line 134: | Line 134: | ||
| 1,2 ms | | 1,2 ms | ||
| 4 ms | | 4 ms | ||
− | | 8,2 ms | + | | 8,2 ms |
|- | |- | ||
| Itemis | | Itemis | ||
| 72 ms | | 72 ms | ||
| 142 ms | | 142 ms | ||
− | | 287 ms | + | | 287 ms |
− | | 500 ms | + | | 500 ms |
| 1103 ms | | 1103 ms | ||
|} | |} | ||
− | [[Image: | + | [[Image:EmfIndex ResponseTimeTypeQuery.png]]<br> |
+ | |||
+ | === Navigation Query required for convenient API === | ||
+ | |||
+ | {| border="1" | ||
+ | |- | ||
+ | | eObject.getResourceDescriptor() | ||
+ | | resource.getEObjects() | ||
+ | | resource.getReferences() | ||
+ | | reference.getTargetObject() | ||
+ | |||
+ | |- | ||
+ | | 7 µs | ||
+ | | 104 µs | ||
+ | | 220 µs | ||
+ | | 12 µs | ||
+ | |} | ||
+ | |||
+ | [[Image:EmfIndex ResponseTimeNavigationQueries.png]]<br> | ||
<br> | <br> |
Revision as of 04:05, 2 September 2009
This page is intended to compare the two index implementations form different viewpoints such as
- API
- Performance
- Memory Consumption
- How to build a convinient Query API on top of the low level API
Contents
Performance
Indexing
Indexing time
This test measured the time which is needed to index x-times the content of Ecore.ecore. (Containing 393 instances of EObject and 520 references)
|
1000 | 2000 | 3000 |
SAP | 15,4 s | 29,9 s | 45,3 s |
Itemis | 14,6 s | 28,4 s | 43,5 s |
Memory consumption
This test measured the in memory size of the index. In the SAP case, paging was disabled
|
1000 | 2000 | 3000 |
SAP | 136 million bytes | 278 million bytes | 408 million bytes |
Itemis | 169 million bytes | 340 million bytes | 508 million bytes |
Query response time
Query All EObject and all EReferences
|
1000 | 2000 | 3000 |
SAP | 0,3 s | 0,45 s | 0,65 s |
Itemis | 1,4 s | 2,2 s | 3,3 s |
Query all references targeting a certain resource
|
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
SAP | 0,6 ms | 0,6 ms | 0,6 ms | 0,6 ms | 0,6 ms | 0,6 ms | 0,6 ms | 0,6 ms |
Itemis | 5 ms | 537 ms | 3178 ms | 15190 ms | 65177 ms | 268899 ms | 1087066 ms |
Query all instances of "EClass"
|
128 | 256 | 512 | 1024 | 2048 |
SAP | 0,4 ms | 0,8 ms | 1,2 ms | 4 ms | 8,2 ms |
Itemis | 72 ms | 142 ms | 287 ms | 500 ms | 1103 ms |
eObject.getResourceDescriptor() | resource.getEObjects() | resource.getReferences() | reference.getTargetObject() |
7 µs | 104 µs | 220 µs | 12 µs |