Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » EList performance issues
EList performance issues [message #620517] Fri, 05 December 2008 13:40
Sebastien Gemme is currently offline Sebastien GemmeFriend
Messages: 4
Registered: July 2009
Junior Member
I'm a happy EMF user for the last few years. I'm using EMF for all my
project now.

I am now facing some issues with the EList generated using the genmodel:

He is my problem, I am trying to work with point clouds, i.e. xyz
coordinates data coming from a laser scanner we are using on our Mars rover.

These point clouds can be pretty big, a few 100 000 points or more.

- Even when specifying 'is unique' to false in the ecore, the
'isUnique()' method of the generatee EList still returns true. Everytime
I call add or addAll methods on the EList, the isUnique() returns true
making a search in the whole list every time I insert a new item. As
soon as I hit more than 10 000 points, the time dramatically increases.
- Looks like the EList is backed with an array, so every time I insert a
new item:
- a new array of 'size+1' is allocated
- the data from the previous array is copied into this grown array
using System.arraycopy
- the item I want to insert is inserted at the end of this grown array.
When the list is small this works fine but as soon as you hit a few
1000s elements, the time also increases dramatically.
- I would have expected to see a linked list approach on this one.

I would like to know if there is a way to make the EList super fast for
applications using larger datasets.

I wanted to show those c++ developers that Java can be as fast a c++ but
so far: they are not impressed !!!

Thanks for taking time to look at my questions,

Sebastien Gemme
Canadian Space Agency
Previous Topic:Custom import from java annotations
Next Topic:EList performance issues
Goto Forum:
  


Current Time: Sat Sep 21 01:42:45 GMT 2024

Powered by FUDForum. Page generated in 0.04445 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top