compileIt for revolution?

Mark Wieder mwieder at ahsoftware.net
Wed Jun 22 19:04:21 EDT 2005


Dennis-

Wednesday, June 22, 2005, 1:47:25 PM, you wrote:

DB> John,

DB> I actually had a complete matrix algebra package as an external for
DB> Hypercard.  I know how to use it, because I cut my teeth on APL.  I
DB> implemented my complex algorithms and state machines in it.  The  
DB> coding was cumbersome, and it was difficult to debug and handle edge
DB> conditions, sparse arrays, etc.  And to top it all off, it only ran
DB> 25% faster than the simple HyperCard stack even though it could  
DB> crunch numbers 10 times faster.  However, I have to admit that it
DB> spent a lot of time converting and passing arrays back and forth to
DB> HyperCard.  A native engine capability might make a big difference if
DB> the internal representation could be typed by making sure you only
DB> put all the same type numbers into the array, and if the indexes were
DB> truly integers.  The both matrix and element by element operations
DB> could be mixed and we would have the best of both worlds.

Couldn't you just recompile this as a runrev external? The GetArray()
and SetArray() functions can work with the entire array at once,
saving you from having to pass individual array elements. If you
really need the speed you could have the external process the array in
assembly language, stuffing the values into registers and having the
CPU crunch them for you.

-- 
-Mark Wieder
 mwieder at ahsoftware.net



More information about the use-livecode mailing list