Vladimir Nikishkin <lockyw...@gmail.com> writes:

> I am attaching the file in which tangling is still slow.
> The file is quite big, but that alone doesn't seem to be the reason
> for slowliness (I tried adding 1M-long words in the random places of
> the previous mwe).
> You can see the result by C-c C-v C-v'ing the code block at the
> "Ramanujan numbers" heading.
> Below is the profiler report for C-c C-v C-v'ing.with the heaviest
> blocks expanded:

This is because you're using :noweb-ref, which _is_ slow, although you
apparently don't need it in the document. Use name keyword instead,

    #+name: primetest
    #+begin_src scheme :exports both :results output
      (define (smallest-divisor n)
        (find-divisor n 2))
      (define (find-divisor n test-divisor)
        (cond ((> (square test-divisor) n) n)
          ((divides? test-divisor n) test-divisor)
          (else (find-divisor n (+ test-divisor 1)))))
      (define (divides? a b) (= (remainder b a) 0))

      (define (prime? n)
        (= n (smallest-divisor n)))


Nicolas Goaziou

Reply via email to