aspell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [aspell-devel] Add and Remove Word Lists


From: Jose Da Silva
Subject: Re: [aspell-devel] Add and Remove Word Lists
Date: Sat, 20 Nov 2004 12:34:23 -0800
User-agent: KMail/1.6.1

On Saturday 20 November 2004 05:28 am, you wrote:
> ----- Original Message -----
> From: "Jose Da Silva" <address@hidden>
> <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....    :-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]