On Saturday 20 November 2004 05:28 am, you wrote: > ----- Original Message ----- > From: "Jose Da Silva" <[EMAIL PROTECTED]> > <snip> > Thanks for all the comments! > You got me thinking, which is good. > Thanks, > Gary
Actually, few people are even willing to ask for advice on a public forumn. It's out in public where all the good ideas get thrown together too. :-) Plus... you got me thinking-out-loud too... to put it in writing, here goes! Another item for thought and consider this an advanced subject.... "multithreading" Not so great with today's computers since the multithreading is of no advantage on a single processor computer (plus if implemented badly is worse than not having it in the 1st place), but there was an article in www.slashdot.org quite a while back, and the person who introduced fortran is really big into multiprocessor computers.... the article talked about shared calculations within a "grid of CPUs" and it seemed that fortran seemed to translate well for allowing multiple CPUs sharing a task, plus if you look at SUN, they are always talking/boasting multithreading better than everyone. Now suppose you get out your crystal ball and see into the future and that in 5 years that, the common computer usually has more than one core.... Now suppose you split the work into multithreading. Now suppose that you have several CPUs sitting idle waiting for some work to do, so why not give them some work to share. Perhaps handling a dictionary each and the spell checker is sort of whichever hits first.... CPU#1=common english CPU#2=accented english not assigned yet=french dictionary not assigned yet=german dictionary .... Now think of this as a horse race, where whichever CPU gets it first wins: the next word is "good" now GO search! CPU#1 starts looking in common english CPU#2 starts looking in the rather small accented english CPU#2 ran through it's (small) dictionary quickly and now starts tackling another dictionary... okay... so now it starts threading through the french dictionary... okay, everyone stop looking because CPU#1 found "good" the next word to find is "going", now GO search! ..... The basic idea I'm pointing out above is, if you got one dictionary, you only got one thread to work on, therefore you also limit the work to only one CPU.... however several smaller dictionaries can be searched at the same time in parallel. Perhaps the idea above is not so great, because it becomes a big performance hit on a single CPU computer due to all the overhead involved.... ...Maybe multithreading works better or simpler to implement in sequence.... CPU#1 looks for "good", CPU#2 looks for "going", CPU#3 looks for.... ? ....hmmm, I didn't bother to chuck-out the 1st idea (I was thinking about that possibility when I also spoke up in favour of multiple dictionaries).... looking at this email, and replying to you, I now think I'm now more in favour of the 2nd idea as it's easier to solve.... :-) _______________________________________________ Aspell-devel mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/aspell-devel