Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [EMFStore] Performance Measure(The performance of EMFStore becomes slower as the number of elements increases)
[EMFStore] Performance Measure [message #1803787] Sun, 10 March 2019 00:33 Go to next message
Alfa Yohannis is currently offline Alfa YohannisFriend
Messages: 9
Registered: April 2018
Junior Member
Hi Everyone,

I tried to run the following code to measure the performance of EMFStore by adding 2010 elements to a root element and measuring the delta time for each addition:

NodeFactory factory = NodeFactory.eINSTANCE;
Node root = factory.createNode();
root.setName("Node 0");
project.getModelElements().add(root);
for (int i = 1; i <= 2010; i++) {
	Node node = factory.createNode();
	node.setName("Node " + i);
	long start = System.currentTimeMillis();
	root.getChildren().add(node);
	long end = System.currentTimeMillis();
	System.out.println(i + ": " + (end - start) + " ms");
}


Apparently, the performance of EMFStore becomes slower as the number of elements increases.

The performance of adding the first 10 nodes is as follows:
1: 0 ms
2: 0 ms
3: 16 ms
4: 0 ms
5: 0 ms
6: 16 ms
7: 0 ms
8: 0 ms
9: 15 ms
10: 0 ms

And the performance of adding the last 10 nodes is as follows:
2001: 122 ms
2002: 125 ms
2003: 156 ms
2004: 110 ms
2005: 125 ms
2006: 109 ms
2007: 125 ms
2008: 109 ms
2009: 125 ms
2010: 119 ms

Any idea what causes the slowdown? What should I do to improve the performance?

Cheers,

[Updated on: Sun, 10 March 2019 00:35]

Report message to a moderator

Re: [EMFStore] Performance Measure [message #1803844 is a reply to message #1803787] Tue, 12 March 2019 11:36 Go to previous messageGo to next message
Johannes Faltermeier is currently offline Johannes FaltermeierFriend
Messages: 101
Registered: December 2013
Senior Member

Hi,

please consider that EMFStore is in maintenance mode, meaning that there is no active feature development (see https://www.eclipse.org/emfstore/).
If you start a new project and consider to use EMFStore please note that we might declare EMFStore end-of-life in the year 2022. Other options to consider are EMF Compare and CDO. We have extensive knowledge in building solutions for model versioning and also offer commercial consulting and support on choosing a framework with the features of EMFStore and on using EMFStore, EMF Compare and CDO.

Regarding your issue:

EMFStore uses the FileBasedChangePackage as a default. This is optimized to keep memory consumption low. As a consequence every change is written to disk immediately.
Switching to the InMemoryChangePackage does not write to disk immediately and you should not see the slowdown, however all recorded operations are kept in memory.
See org.eclipse.emf.emfstore.internal.client.configuration.Behavior.useInMemoryChangePackage() for the configuration options.

Cheers
Johannes


Johannes Faltermeier

Get professional Eclipse developer support:
http://eclipsesource.com/en/services/developer-support/
Re: [EMFStore] Performance Measure [message #1803850 is a reply to message #1803844] Tue, 12 March 2019 12:58 Go to previous message
Alfa Yohannis is currently offline Alfa YohannisFriend
Messages: 9
Registered: April 2018
Junior Member
Hi Johannes,

I see. Thank you for the information. Already tried the useInMemoryChangePackage, and 'yes' it works perfectly.

Cheers,
Alfa
Previous Topic:EMF Neon problem
Next Topic:First steps to Edapt with multiple ecore models
Goto Forum:
  


Current Time: Tue Apr 16 06:34:31 GMT 2024

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

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

Back to the top