Hi Thomas,
did you try with different hard disks?
Probably the disk takes a while to locate and load the data after the idle time. However "several minutes" would be a very long time.
Regards, Andreas
Am 12.12.2012 um 14:23 schrieb Thomas Kaltofen:
Hi Christian,
thank you for your comments. I tried to profile BaseX with Visual VM, however the profiling has a huge impact on the runtime behavior and the performance, so it is not very helpful. Moreover, I observed the behavior of the database process with Windows task manager and during the long delay the CPU load is low, so I assume the time is spent with I/O operations (the amount of memory used by the database only changes slightly during the delay). Do you have any recommendations for tools to profile the database on Windows? Regarding the type of query your assumption is correct - if the query is a simple main-memory query, the delay does not occur. The delay only happens when a query is performed that queries actual data stored in the database.
Regards, Thomas
-----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
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk