Nicolas Goaziou writes: > Hello, > > Rainer M Krug writes: > >> I have a relatively large file with >> about 200 =source blocks (R) to be tangled to get an R package. But the >> tangling takes about 20 seconds. >> >> Profiling the tangling showed that the call to ~mapcar~ in >> ~org-babel-params-from-properties~ takes about 40% of the execution time >> (see profiler excerpt below). Is there anything one can do to make this >> faster? > > In this function, there is > > ;; DEPRECATED header arguments specified as separate property at > ;; point of definition > (let (val sym) > (org-babel-parse-multiple-vars > (delq nil > (mapcar > (lambda (header-arg) > (and (setq val (org-entry-get (point) header-arg t)) > (cons (intern (concat ":" header-arg)) > (org-babel-read val)))) > (mapcar > #'symbol-name > (mapcar > #'car > (org-babel-combine-header-arg-lists > org-babel-common-header-args-w-values > (progn > (setq sym (intern (concat "org-babel-header-args:" lang))) > (and (boundp sym) (eval sym)))))))))) > > While the 3 `mapcar' calls could be turned into a single one, I wonder > if this snippet could be removed altogether instead. It has been > deprecated for 2 years already. > > WDYT? I would not remove it as even I have some org files using them - shame on me. But what about making it user configurable? a variable ~org-babel-tangle-use-deprecated-header-args~ which if set to non-nil would enable this additional code, if nil it would be skipped? The default should be set to ~t~ to be backward compatible. Cheers, Rainer > > Regards, -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug PGP: 0x0F52F982