Hello, > I don't understand those 3 lines
The prevent matching a table below #+begin_example | I'm not a table | #+end_example > without them (the 688 tests work as expected). Those lines indirectly > call (org-element--cache-put) a quadratic number of times. For a 1000 > rows table this is 501500 times (about 1000x1000/2 times). Note that recalculating a table is inherently quadratic. > Here is a test case. > > 1- First create a 1000 row table: > > #+BEGIN_SRC elisp :results none > (goto-char (point-max)) > (let ((i 1000)) > (while (> i 0) > (insert (format "| %4s | |\n" i)) > (setq i (1- i)))) > (insert "#+TBLFM: $2=$1*10\n") > #+END_SRC > > 2- Then, with point in the table, type C-u C-c * I limited calls to `org-element-at-point'. It should be much faster now. Thank you. Regards, -- Nicolas Goaziou