Okey, I found the issue and it was me doing lazy benchmark: I had forgot a
debug printing function in the C code, that I had removed between the
benchs.

Thanks again for your time !

Thomas.


2014-08-07 21:56 GMT+02:00 stepharo <[email protected]>:

> NativeBoost methods compiles native code only once (the first time they
> are executed) and when sessionId changes (because you may be on a different
> platform).
> So this is already like that. The assembly code is cached in the method
> literal.
>
> Stef
>
> On 7/8/14 17:25, Thomas Bany wrote:
>
>> Hi everyone,
>>
>> I'm trying to reduce the computation time of the following pseudo-code:
>>
>> - memory allocation (~40 doubles)
>> - object heap to C heap copying
>> - NativeBoost call (nbCall:)
>> - memory freeing
>>
>> The time profiling results are bellow:
>>
>> - 24*3600 calls : > 1 minute
>> - 24*3600 calls with only memory allocation and copying : < 1 second
>> - 1 call with a 24*3600 loop inside de C code : < 1 second
>>
>> So it appears that the very coslty step is the transition from Pharo to
>> C. And I was wondering if it was possible to drasticly reduce this time by
>> doing something like, generate the the machine code once and call it
>> multiple time ?
>>
>> Thanks in advance !
>>
>> Thomas.
>>
>
>
>

Reply via email to