<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2769" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>I&nbsp;speculate that&nbsp;applications based on 
the sword-api could potentially benefit from multi-threading, especially 
"Search". My impression is that the sword-api Search routines are 
single-threaded, but I could be wrong.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Concurrent apps are difficult, and not all 
algorithms lend themselves to it.&nbsp;I came across this interesting article 
(at least to me) from Herb Sutter.&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2><A 
href="http://www.gotw.ca/publications/concurrency-ddj.htm">http://www.gotw.ca/publications/concurrency-ddj.htm</A></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Apps like BibleCS may be in the category he 
describes of "wishful thinking that better hardware will help it out for those 
people who aren't&nbsp;satisfied with its performance."</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>"Search" seems like a good 
candidate for concurrency&nbsp;.... there are&nbsp;obvious&nbsp;threads by 
"Book" or "Testament". There would also seem to be less obvious threads by 
"pipeline" (decompress as applicable -&gt; decrypt as applicable -&gt; detag 
-&gt; search itself -&gt; presentation)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Here is a scenario for purposes of 
discussion:</FONT></DIV>
<DIV><FONT face=Arial size=2>Look for the phrase "God so love" across 100 
modules that the end-user has installed. This could take a looooooong time, even 
with indexing (and the "love" rather than "loved" might cause problems for 
CLucene??)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I've got an older Dell server (circa 2000) with two 
Pentium III's installed, which would be a good "test-bed" for multi-threading. 
My impression is that HyperThreading and MultiCore cpu's would benefit from 
multithreading, but the conceptual model might be&nbsp;different in more or less 
subtle ways.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>The original LcdBible used an "experimental plug-in 
subset" of the sword-api, and I am considering converting its much simpler 
search logic to use multi-threading. The upcoming LcdBible release uses the full 
sword-api, so would be harder to experiment with.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV></BODY></HTML>