On 08/23/2019 02:20 PM, Nicholas
Jankowski wrote:
On Fri, Aug 23, 2019 at 5:16 PM Nicholas
Jankowski < address@hidden> wrote:
On
8/23/19 2:56 PM, Rik wrote:
> The absolute best performer is still version
3.4.3 at 4.5 seconds which is
> more than double the performance of the current
result of 10.9 seconds.
Do we have any idea what is responsible for most of
the change? Is it
looking up functions? Getting variable values?
Storing values in
variables? Something else?
in what version did the profiler become
available?
lazy question. according to the faq [1] the profiler
became available in version 3.6.x. was the performance of
3.6 good enough relative to current code to make a
profiler comparison of your test worthwhile?
Version |
3.2.4 |
3.4.3 |
3.6.4 |
3.8.2 |
4.0.3 |
4.2.1 |
4.4.1 |
5.1.0 |
Benchmark |
|
|
|
|
|
|
|
|
bm.toeplitz.orig.m |
5.8968 |
4.4943 |
5.0851 |
5.5534 |
10.055 |
10.544 |
13.052 |
13.481 |
The slowdown from 3.4.X to 3.6.X was about 11%. That could have
been caused by the profiler.
But, as mentioned in earlier e-mails, the critical step change was
from 3.8.X to 4.0.X where performance halved. The two big additions
for 4.0.X were a Qt GUI and classdef object oriented programming
support. Running with --no-gui-libs or --no-gui shows less than a
2% difference from running with the GUI so it isn't that. It might
be the classdef OO interface, but I don't know a convenient way to
disable that.
--Rik
|