Just tripled the nr of iterations to get a little better timing accuracy.

 Ptr.Single(...)  :  15  seconds
C                    7 seconds

So it looks as if C is still around 2X faster.  I can live with that
difference ( although if RS can improve on that all the better) . But the
debug version is unacceptably slow imo.

I'm now going to go away and do as frank suggests and put both loops inside
the C function.

On 16/5/07 20:58, "Daniel Stenning" <[EMAIL PROTECTED]> wrote:

> OK - very interesting.
> 
> Just done the test in the RELEASE executable:
> 
> Memoryblock.SingleValue(...)  :     30 seconds
> Ptr.Single(...)  :  5  seconds !!!!!
> 
> C dylib call version:  around 2 seconds. ( almost too quick to time
> accurately )
> 
> This is a great relief. Interestingly it seems to confirm two things:
> 
> A) That there is a huge ( and I mean HUGE ) difference in loops when running
> in debug mode
> 
> 
> B) There is a huge performance hit in using the memoryblock methods to
> access memory block variables  versus using raw Ptr dereferencing.  This
> seems to me to confirm that the RB compiler is generating code to access the
> single data directly rather than via a special function.
> 
> 
> On 16/5/07 20:33, "Daniel Stenning" <[EMAIL PROTECTED]> wrote:
> 
>> 
>> Good point. Indeed it was. I'll do the test again in a release build and
>> report back with the results.
> 
> Regards,
> 
> Dan
> 
> 
> 
> _______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
> 
> Search the archives:
> <http://support.realsoftware.com/listarchives/lists.html>
> 

Regards,

Dan



_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to