Hello, Thierry Banel <tbanelweb...@free.fr> writes:
> Babel Gnuplot is quite slow on large tables. > Example: 45 seconds for a 1500 rows table. > > Why? Because orgtbl-to-generic is too slow (or too generic). Its > behavior seems to be quadratic O(size^2). Should we bypass it? I don't think so. > Should we try to optimize it? I did some optimizations in master branch. I go below 1 sec for the 1500 rows table. > Here is a fix to speed up the rendering to a mere fraction of a second. > > #+BEGIN_SRC elisp > (defun org-babel-gnuplot-table-to-data (table data-file params) > "Export TABLE to DATA-FILE in a format readable by gnuplot." > (let ((org-babel-gnuplot-timestamp-fmt > (or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S"))) > (with-temp-file data-file > (mapc (lambda (line) > (mapc (lambda (cell) > (insert (org-babel-gnuplot-quote-tsv-field cell)) > (insert "\t")) > line) > (insert "\n")) > table))) > data-file) > #+END_SRC The comparison is not fair, because the function doesn't handle all the cases `orgtbl-to-generic' handles. Regards, -- Nicolas Goaziou