[CM] tap fixed - patch to tankrev.scm

anders.vinjar at nmh.no anders.vinjar at nmh.no
Wed Nov 2 07:34:22 PDT 2016


Great.

  > (define (some-huge-comp) (get-internal-real-time))
  some-huge-comp
  > (define (test)
    (list
     #.(some-huge-comp)
     (some-huge-comp)))
  test
  > (test)
  (628.159582 631.110096)
  > (test)
  (628.159582 632.668255)
  > (test)
  (628.159582 634.408648)

Seems the first call on (some-huge-comp) is 'fixed' at read-time.  So
far so good.

However, if i use this when defining the instrument on the calls down in
the run-loop, ie:

	(outa i 
	      (+ (* +0.6 (tap delay_48_54 #.(smpls->samples 266)))
		 (* +0.6 (tap delay_48_54 #.(smpls->samples 2974)))
                 ...
                 
supposing these calls will be fixed at read-time (ie. when evaluating
the (define*...)), calling the instrument is still only around half the
speed of the version with 'pre-calculated' data (which btw. is really
fast).  Is this because of extra overhead vs. memory lookup?

-anders



More information about the Cmdist mailing list