Making Revolution faster with really big arrays
Dennis Brown
see3d at writeme.com
Fri Apr 29 13:05:00 EDT 2005
Jon,
It should actually be very easy to create such a thing. This is
something I have requested as far back as 6 or 7 years ago for
Transcript (I was using SC back then). I was told that Keyed Arrays
were coming and would solve all my problems... think again. It is no
different than having a CPU and a separate vector processing unit in a
chip. The main way to go about it, is to be able to allocate a fixed
amount of contiguous memory to an array of n dimensions with n byte
elements of a fixed type. The language needed to process it would be
very simple set of conditional and repeat and math operators that have
a direct equivalent to the usual machine code operations. It would be
trivial for a compiler writer to create the machine code, or for that
matter, a simple compiler could be written in transcript and with just
a minor speed penalty, the compiled code could be machine independent
byte codes with a teensy-tiny runtime package for each platform. It
would run at least ten times faster than Transcript.
Is there any reason that a large array of data could not be sent to an
external along with a set of "bytecode instructions" for processing the
array?
It would be great to have it as a built in function for everyone to
use, or an enterprising Rev developer might make an external add on. I
would do it if I had more experience and time, but the last time I
wrote something like this was 30 years ago for 6800 machines. It was a
tiny universal "Machine Code" and compiler.
Dennis
On Apr 29, 2005, at 9:52 AM, Lynch, Jonathan wrote:
> How hard would it be to create a math and array processing external for
> RunRev?
>
> This would be useful for numerous things, including complex image
> processing.
>
> It would need to do two things:
> 1) allow the user to pass a script (like in C) for processing the array
> to the external
>
> 2) send the array(s) itself to the external, which then uses the
> previously sent script to process that array(s) and return the result.
More information about the use-livecode
mailing list