[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Exporting large documents
From: |
Achim Gratz |
Subject: |
[O] Exporting large documents |
Date: |
Sat, 27 Apr 2013 21:28:05 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
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
- [O] Exporting large documents,
Achim Gratz <=