From mboxrd@z Thu Jan 1 00:00:00 1970 From: Achim Gratz Subject: Exporting large documents Date: Sat, 27 Apr 2013 21:28:05 +0200 Message-ID: <877gjnojsq.fsf@Rainer.invalid> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:41605) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UWAnO-0005jq-9G for emacs-orgmode@gnu.org; Sat, 27 Apr 2013 15:28:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UWAnN-0003Te-0d for emacs-orgmode@gnu.org; Sat, 27 Apr 2013 15:28:30 -0400 Received: from plane.gmane.org ([80.91.229.3]:47218) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UWAnM-0003TS-Q1 for emacs-orgmode@gnu.org; Sat, 27 Apr 2013 15:28:28 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1UWAnF-0006Jj-6u for emacs-orgmode@gnu.org; Sat, 27 Apr 2013 21:28:21 +0200 Received: from pd9eb0b70.dip0.t-ipconnect.de ([217.235.11.112]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 27 Apr 2013 21:28:21 +0200 Received: from Stromeko by pd9eb0b70.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 27 Apr 2013 21:28:21 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org I've been looking at export runtimes for large documents with the new exporter. The example I've used is the orgmanual.org from Tom. I first exported each subtree standalone, then the document as a whole to texinfo. The startup of Emacs takes about 1 s of user time and 1.5 s of wall time, these have not been subtracted in the table below. The table shows the individual runtimes for each subtree export, their total and the last line is for the export of the full document. | user | sys | wall | util | |---------+-------+--------+-------| | 4.856 | 0.048 | 5.52 | 88.5% | | 13.748 | 0.160 | 15.04 | 92.4% | | 15.004 | 0.036 | 16.06 | 93.5% | | 8.464 | 0.068 | 10.37 | 82.1% | | 8.420 | 0.088 | 13.29 | 63.9% | | 5.568 | 0.052 | 8.03 | 69.8% | | 7.648 | 0.064 | 9.26 | 83.1% | | 12.020 | 0.056 | 14.16 | 85.2% | | 7.796 | 0.044 | 11.00 | 71.1% | | 27.352 | 0.068 | 33.71 | 81.3% | | 6.564 | 0.044 | 7.00 | 94.2% | | 17.124 | 0.108 | 19.17 | 89.8% | | 6.124 | 0.068 | 6.79 | 91.0% | | 10.632 | 0.068 | 11.73 | 91.1% | | 15.932 | 0.052 | 17.33 | 92.2% | | 6.836 | 0.080 | 7.61 | 90.8% | | 3.964 | 0.040 | 4.54 | 88.1% | | 5.076 | 0.160 | 6.01 | 87.0% | | 3.488 | 0.060 | 4.06 | 87.1% | | 3.532 | 0.056 | 4.14 | 86.4% | | 3.516 | 0.044 | 4.20 | 84.5% | | 3.576 | 0.064 | 4.17 | 87.0% | | 3.552 | 0.064 | 4.12 | 87.6% | | 6.528 | 0.176 | 10.73 | 62.3% | |---------+-------+--------+-------| | 207.320 | 1.768 | 248.04 | 84.3% | | 386.384 | 0.392 | 415.94 | 92.9% | As you can see, the export gets slower (a lot) the larger the scope of the export gets. I would hope that something can be done about it, I've earlier tried to profile the export (posted over in the Orgmanual thread), but I don't think the result was conclusive. So as an additional experiment, I just used the preamble and Introduction of orgmanual.org and then doubled the copies of the Introduction subtress with each iteration. I runtime was linear in size, you'd expect to see the runtimes about double on each iteration, too. | user | sys | wall | util | size | |---------+-------+--------+-------+------| | 2.500 | 0.064 | 3.14 | 81.5% | 18K | | 3.740 | 0.056 | 4.37 | 86.7% | 33K | | 6.224 | 0.112 | 6.98 | 90.6% | 63K | | 11.524 | 0.060 | 12.53 | 92.4% | 122K | | 22.860 | 0.084 | 24.35 | 94.2% | 241K | | 48.760 | 0.100 | 51.87 | 94.1% | 479K | | 110.804 | 0.124 | 120.64 | 91.9% | 955K | | 280.084 | 0.360 | 304.48 | 92.1% | 1.9M | | 868.712 | 0.768 | 930.24 | 93.4% | 3.8M | Octave thinks that y = 1.725 x^2 + 1.025 x + 0.009 is a good fit to that data, so O(N^2) behaviour overall as suspected. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds