incubator-jspwiki-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Kakunin <akaku...@emdev.ru>
Subject Reference Manager perfomance
Date Tue, 07 Apr 2009 14:58:18 GMT
Hi!

On emforge.org we have a quite big problem related to ReferenceManager:
actually, application start takes about 10-15 minutes, and most of time it
spent in ReferecenManager.initialize method (hm - how long jspwiki.org takes
to start?)

Actually, I suppose it is because we have many (even sometimes empty) pages
(becasue for each task wiki-page with description is created), and ,
referenceManager is called

// Refresh with the latest copy
page = m_engine.getPage( page.getName() );

for each page.

I wanted to work on some reimplementation of ReferenceManager, but found,
WikiEngine is used it directly (not via some Interface) - so, I cannot
simple implement another implementation (like it is possible to do for
PageProviders for example) and use it instead of default.

Also, since most of methods/attributes of this class are private, I cannot
simple inherint my class from this implementation and reuse already
implemented functionality.

So, I have some suggestions:

1. Define interface for ReferenceManager
2. Make it possible to control ReferenceManager implementation used via
properies-file
3. Move methods in current implementatino from private to protected (to make
it reusable)

Also, another question - if I underastand - referencemanager during
initialization just updated and recreated it's information. It is required
in cases, then pages were changed during WikiEngine restarts (if I
understand correctly).

But, if it is not happens - I hope this refreshing is not required. So,
probably - allow to simple pass into ReferenceManager a flag, said - do we
need to refresh pages or not
It  should help us to save time during start dramatically (I hope)

Is all of these changes are OK? If yes - I may try to implement them and
send new version to community

-- 
With Best Regards,
Alexey Kakunin, EmDev Limited

Professional Software Development:
http://www.emdev.ru

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message