Hi Thomas,
as Andreas indicated, it looks as if the hard disks need to re-adjust to your query patterns after longer breaks; after all, I doubt that this is something that could be "fixed" within BaseX. Instead, it may help to have a second look; maybe they can be optimized to reduce I/O?
Do you have any recommendations for tools to profile the database on Windows?
I usually avoid visual tools and use command-level profiling instead, i.e. via the flag -Xrunhprof:cpu=sample.
Hope this helps, Christian
-----Original Message----- From: Christian Grün [mailto:christian.gruen@gmail.com] Sent: Tuesday, December 11, 2012 7:58 PM To: Thomas Kaltofen Cc: basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] Performance Question
Hi Thomas,
P.S. When (approx.) do you plan to release the next version of BaseX?
It's only a few days left! As a little hint, I can already disclose that the release will be nicknamed »BaseXMas Edition«.
I have a question regarding performance, because my database shows a
somehow strange behavior. [...] I leave the server running for several hours without touching the database at all (e.g. over the night). If I now execute the same query again (the database is still running but was idle for several hours), the execution takes very long (several minutes) [...]
Usually, I would have guessed that some other processes have been keeping your main memory while BaseX was not used, but I was surprised to hear that you also encountered the behavior on another computer. Did you already do some profiling in order to see what all the time is spent for (I/O, CPU, idle)?
- Execute a different query -> same behavior
As there are a lot of queries with a lot of different execution times, could you give us a guess what type of queries cause the behavior? I guess that a simple main-memory query (e.g. " (1 to 10000000)[. = 0] ") won't show the same effect, will it?
Best, Christian