octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: For loop benchmarks between Octave versions


From: Julien Bect
Subject: Re: For loop benchmarks between Octave versions
Date: Tue, 17 Jun 2014 17:11:50 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

Le 17/06/2014 16:49, John W. Eaton a écrit :
On 06/17/2014 09:29 AM, Julien Bect wrote:
Le 17/06/2014 02:39, Rik a écrit :
I find that this changeset:

12920:5d18231eee00 Extend profiling support to operators.

produces a 50% slow down when using the for loop benchmark. Unless we
can figure out a lower footprint way to do profiling we might be stuck
with this part of the slowdown.

The attached patch significantly improves the situation for me.

On the gui-release branch, the runtime goes from 2.75 seconds to 2.16
seconds.

Not a 50% improvement, though...

Does declaring is_active "inline" really make a difference? I'd be surprised if that is not always inlined when the compiler is performing inlining optimizations.

Yes, I have tried both, and it does make a (small) difference.

The main difference was obtained by calling profiler.is_active directly (2.75 -> 2.26, roughly).

The runtime dropped to 2.16 when I added inline.

I don't much like having to manually match up new/delete, so I'd rather see that go inside a constructor/destructor pair. Done properly and with inlining, I don't see why it would be inefficient and perhaps we could eliminate the BEGIN/END macros?

I try that right now.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]