bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] Optimizations revived


From: Juergen Sauermann
Subject: Re: [Bug-apl] Optimizations revived
Date: Sat, 23 Aug 2014 18:01:27 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.0

Hi Elias,

normally APL values are not written to. The exception is indexed assignment.

I believe the clone() call in Symbol::resolve() can be skipped completely.
This is probably the most frequently used clone() case. I suppose copy-on-write semantics is
achieved when all clone() calls are gone. Many of the remaining clone() calls are specific
to certain functions so their performance impact should be small.

I haven't done the above before the 1.4 release because I didn't want to release
a not-so-well tested optimization.

/// Jürgen


On 08/23/2014 05:32 PM, Elias Mårtenson wrote:
Cool :-)

Speaking of this, I did spend quite a bit of time some time ago to try to figure out an easy way to get generic copy-on-write semantics, but I never came to a satisfactory conclusion. I might revisit it later.

Have you thought about it? It is, after all, related to this specific optimisation.

Regards,
Elias


On 23 August 2014 23:29, Juergen Sauermann <address@hidden> wrote:
Hi,

I have revived Elias' in-place optimization for A⍴B and ,B now usinng a different
way of figuring if B is in use. SVN 445.

/// Jürgen




reply via email to

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