[sword-devel] Windows beta 1.5.8pre1

Chris Little 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"
> button.

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 
available.

> 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.

--Chris



More information about the sword-devel mailing list