[sword-devel] Windows beta 1.5.8pre1
chrislit at crosswire.org
Wed Feb 9 16:06:58 MST 2005
Lynn Allan wrote:
> I don't think I tried to cancel during the IndexBuild, but it was hard
> to tell. The indexing almost locked the computer up ... running
> Win-2000 sp4. 1.5.8 was complete unresponsive, but so were other open
> applications ... IE6, Outlook Express, Explorer, the windows Launch
> bar. etc.. for the entire 25 minutes.
The indexer will use as many resources as it can within a single thread.
On my system it never excedes 60% CPU, probably because it is limited by
disk access speeds (though it doesn't actually seem to be using the disk
as constantly as it could because the disk access indicator is not solid
but blinking). All other threads (IE, Explorer, other apps) will run in
remaining resources, so for me everything outside of Sword was fully
responsive. This has nothing to do with us and we should probably not
make any effort to address this (aside from considering distributing
pre-built indexes or bringing the indexing time down to something nearer
what Joachim reported for Linux). If we include some kind of indexing in
the release frontend, we might want to spawn it as a separate thread
running at low priority. Nevertheless, the tremendous amount of disk
access is going to drain resources still.
> Just about the only thing still responding during the duration of the
> index building was the Task Manager (which runs at High Priority). It
> was almost like the index building was running at high or real-time
> priority and "starving" other user apps. I suspect an end-user would
> be worried that their computer had crashed and press the "Reset"
This is probably because you have a faster disk than me, so you're not
limited by that factor, rather by CPU speed. It will use all resources
> Perhaps even odder, this perceived lockup was on a dual processor
> computer. Watching the CPU usage graph, it is clear that IndexBuiding
> is not multi-tasking and keeping both CPU's busy. It's not like there
> were no CPU cycles to spare, even if "Index Building" was running at
> RealTime priority. On a dual processor or HyperThreading computer,
> IndexBuilding shouldn't starve other processes such that the computer
> seems stalled out ...
Indexing is single-threaded, correct. It will only run on one CPU
(logical or real). If the system is unresponsive on a dual CPU system,
it may be due to limitation of other factors, like disk thrashing. It's
hard to say.
More information about the sword-devel