Okay thanks, that helps.

At what length function should I favor using plain JS vs emscripten?  I 
have some simple calls, such as a vector multiply.  My intuition is its 
cheaper to just multiply two small vectors in JS than it is to call into 
emscripten.  Is this correct?

Also, how expensive are callbacks?  I have a situation where I need access 
to an array of around 5000 floats.  Right now I copy the whole array back 
into the native layer when I need it.  I could also just issue a callback 
for each data item, but that seems more expensive.  It'd be nice to be able 
to just read the doubles in place, but something tells me that is not 
possible.

On Sunday, April 13, 2014 7:11:17 PM UTC-7, Alon Zakai wrote:
>
> Avoiding creating an array object is usually faster. But it might not 
> matter much.
>
> What might make a bigger difference is if you have 16 plain numeric 
> arguments, you can use ccall or even call it directly, with almost no 
> overhead, whereas with embind or ccall using an array it would have more 
> work to do.
>
> - Alon
>
>
>
> On Fri, Apr 11, 2014 at 10:47 AM, Joshua Litt 
> <[email protected]<javascript:>
> > wrote:
>
>> I have a c function which takes an array.  This array can have no more 
>> than 16 values.  Is it better from a performance standpoint to allocate an 
>> array in JS, and pass it to emscripten, or should I just unpack the array 
>> into 16 values and make a function which takes that many arguments?
>>
>> If it matters, most of the time the array will probably be half full.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to