Ouch, that was unexpected. The manual for my version only includes four mentions if the noweb-ref header argument. Is it becoming deprecated? What does "apparently don't need" actually mean? That is, when should I use the name, and when the header argument? What can the header argument do that the name cannot? Nicolas Goaziou 於 2020年1月9日 週四 01:23 寫道: > Hello, > > Vladimir Nikishkin 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, > e.g., > > #+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))) > #+end_src > > > Regards, > > -- > Nicolas Goaziou >