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:
|
- [Bug-apl] Optimizations revived Juergen Sauermann
- Re: [Bug-apl] Optimizations revived Elias Mårtenson
- Re: [Bug-apl] Optimizations revived Juergen Sauermann
- Re: [Bug-apl] Optimizations revived Elias Mårtenson
- Re: [Bug-apl] Optimizations revived Juergen Sauermann
- Re: [Bug-apl] Optimizations revive... Elias Mårtenson
- Re: [Bug-apl] Optimizations re... Juergen Sauermann
- Re: [Bug-apl] Optimizations re... blake1024
- Re: [Bug-apl] Optimization... Juergen Sauermann