[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] H2Cache questions

Hi Alex, 

The same thoughts crossed my mind when I worked on improving the performance in Zend Studio a couple of months ago. 

H2Cache is a set of maps with strong references, which makes it really look more like an in-memory copy of the h2 db, rather than a cache. Over time, I suspect, this may cause memory consumption problems. 

I suppose that the H2Cache was introduced in the past, because of some inefficiencies in the h2 db schema - remember eclip.se/415137. But now, when the necessary index is added to the schema, the benefits of H2Cache are not really visible.

One of the idea in my todo list for performance optimizations is indeed to try removing the H2Cache and measure the impact. Unfortunately, I was distracted from the performance topic with other things, but I hope I'll be back on it very soon.

Greetings,
Kaloyan


On Sat, Oct 19, 2013 at 10:13 AM, Alexey Panchenko <alex.panchenko@xxxxxxxxx> wrote:
Hi PDT-team,

I have some questions regarding this class

http://git.eclipse.org/c/dltk/org.eclipse.dltk.core.git/log/core/plugins/org.eclipse.dltk.core.index.sql.h2/src/org/eclipse/dltk/internal/core/index/sql/h2/H2Cache.java

which was contributed some time ago by Michael and committed by Roy.

As I understand the code, it looks like *all* the data from SQL database is loaded into this class and then updates happen to both the in-memory copy and the underlying SQL database.
For me, that effectively compromises the SQL database, as the same result could be reached with eventually saving data to file using java serialization.

So, I am curious of the following:
- how much memory does it use?
- is it supposed to be a cache (and contain recently used data) or a full in-memory copy?
- how much does it improve the performance? Can the same effect be reached in other ways?

Thanks,
Alex

_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pdt-dev