Dave Mitchell wrote: > In short, padrange executes more > instructions, but has less data reads and writes; the overall effect on > the combined cache being marginally worse. So perhaps I should change it > for only two+ pad vars (or 1 pad var plus @_)? I have done that in commit a3353dbeb I also noticed a case in which padrange happened in 5.18, but was dis- abled in 5.20 due to the list+pushmark optimisation: () = (0,my($b,$c)) With padrange it's: padrange, list Without padrange it's: padsv, padsv Could you try running this through cachegrind, both with and without the list+pushmark optimisation, and perhaps with different numbers of lexicals? I disabled the list+pushmark optimisation on the sprout/nolistpushmarkopt branch to facilitate this.Thread Previous | Thread Next