Felipe Monteiro de Carvalho wrote:
But I think John's main point was parallelization, i.e. multiplication of larger arrays (I suppose, 37 wouldn't quite make it worthwhile ;-) would automatically be distributed over multiple processors as he wrote, or as we'd probably implement it, into several threads (where the thread -> CPU mapping is left to the OS).
You can implement that in the code of the operator overloading, just start a thread there.
You probably wouldn't want to start a thread for each multiplication. That's why I said it's not trivial, among other things. I suppose you would use a thread manager or whatever. And then, you'd probably need to let the user control the number of threads (usually a number equal to the number of CPUs or slightly higher (to avoid wasting time during blocks) might be optimal, but some users might prefer to keep some of their CPUs for other tasks or run several such programs in parallel).
Jonas Maebe wrote:
I think that trying to cater to the same community as FPC would have helped GPC, all other things being equal.
Is there a "not" missing?
It would mainly have meant that its scarce development resources would have been even more thinly spread (not to mention that Delphi is constant moving target).
Furthermore, the resources are not naturally given (which also seems to be a rather common misconception here). I don't care much about Delphi, neither personally nor professionally, for several, probably well-known reasons, so I wouldn't have put much work in GPC if it was (mainly or exclusively) oriented in that direction.
Frank