Workaround : cache the computations,not the plotting itself (which should be fast,and must be made on every table, anyway...) : #+options: toc:nil author:nil * Main text Use of a static table: #+call: timeit() #+call: testplot[:file test0.pdf](data=table0) #+call: timeit() Use of a slow function: #+call: timeit() #+call: testplot[:file test1.pdf](data=table1) #+call: timeit() Use of a /cached/ slow function: #+call: timeit() #+call: testplot[:file test2.pdf](data=table2) #+call: timeit() * Annexes :noexport: This is not exported, but computes results. #+name: timeit #+begin_src emacs-lisp (format-time-string "%Hh %Mm %Ss") #+end_src #+name: table0 | Val | Square | |-----+--------| | 0 | 0 | | 1 | 1 | | 2 | 4 | | 3 | 9 | | 4 | 16 | #+TBLFM: $2=$1^2 #+name: table1 #+begin_src emacs-lisp (sleep-for 5) (setq s ( list (list "x" "x^2") 'hline)) (dotimes (i 5 s) (setq s (append s (list (cons i (list (* i i))))))) s #+end_src #+RESULTS[46320b31c46cef901580bad78aee7032d97ffe64]: table1 | x | x^2 | |---+-----| | 0 | 0 | | 1 | 1 | | 2 | 4 | | 3 | 9 | | 4 | 16 | #+name: table2 #+begin_src emacs-lisp :cache yes (sleep-for 5) (setq s ( list (list "x" "x^2") 'hline)) (dotimes (i 5 s) (setq s (append s (list (cons i (list (* i i))))))) s #+end_src #+name: tf | festfile.pdf ] #+RESULTS[46320b31c46cef901580bad78aee7032d97ffe64]: table2 | x | x^2 | |---+-----| | 0 | 0 | | 1 | 1 | | 2 | 4 | | 3 | 9 | | 4 | 16 | #+name: testplot #+begin_src gnuplot :var data=table0 :exports results reset plot data with linespoints #+end_src HTH, -- Emmanuel Charpentier