peakHoldCascade(32) instantiates 32 peakHolders inside. If I give holdScaled as a param, which also has a long tree inside with 32 instantiations, without using basic syntax, it will be duplicated inside each instance of the peakHolders inside peakHoldCascade of the function peak, so things escalate exponentially in that case.
Using basic syntax like I'm doing here cuts compilation times by a factor of 30 or 40. Really a lot.
From Dario Sanfilippo
Speaking of the compiler being slow when using partial application, see this code snippet below:
peakHoldCascade(32)
instantiates 32peakHolders
inside. If I give holdScaled as a param, which also has a long tree inside with 32 instantiations, without using basic syntax, it will be duplicated inside each instance of the peakHolders inside peakHoldCascade of the function peak, so things escalate exponentially in that case.Using basic syntax like I'm doing here cuts compilation times by a factor of 30 or 40. Really a lot.