Hi again,

I did a quick experiment with removing H2Cache. My performance tests show
slight improvement without this cache.

Alex, I'll be curious to hear if it's the same in your adopter's product.
Here is a commit to cherry pick:
https://github.com/kaloyan-raev/dltk.core/commit/e8bfa12aa5408341d230c57530474db281ef132c

Greetings,
Kaloyan


On Mon, Oct 21, 2013 at 10:10 AM, Kaloyan Raev <kaloya...@zend.com> wrote:

> 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.panche...@gmail.com> 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@eclipse.org
>> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>>
>>
>
_______________________________________________
pdt-dev mailing list
pdt-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/pdt-dev

Reply via email to