Hi Joost,

One option is each assembly instruction in the function to be actually executed in a separated thread. This is one of the proposals of Intel. Of course the compiler will have to packs the instructions the same way the compilers for DSP chips, Transmeta Crusoe, and Itanium processors do that. They group the assembly instructions in groups to be executed as a single parallel instruction. Intel proposes the same model, except the instructions will be sent to separated cores. This way your function will be executed N times faster.

 With best regards,
   Boian Mitov

--------------------------------------------------------------------
Mitov Software
http://www.mitov.com
--------------------------------------------------------------------


----- Original Message ----- From: "Joost van der Sluis" <[EMAIL PROTECTED]>
To: "FPC developers' list" <fpc-devel@lists.freepascal.org>
Sent: Wednesday, July 30, 2008 8:01 AM
Subject: Re: [fpc-devel] Russian locale information not compatible with FPClocale variables


Just to test some ideas/opinions. Could something like this be usefull?

Function DoSomething(const astring : string) : boolean; parallel;
begin
..
end

So that the 'parallel' keywords means that if you call this procedure,
it's started in a separate thread. (maybe just a compiler hint, like in
inline. So that the compiler can decide)
If you actually use the result somewhat further in you program, the
compiler detects this and waits for the other thread to finish, before
it continous.

Ofcourse, of someone uses some globa-vars in an 'parallel' procedure, he
could be doomed, if he don't know what he does. But maybe the compiler
can even forbid this.

Would this be usefull at all? Doable?

Joost

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to