57 lines
2.1 KiB
Plaintext
57 lines
2.1 KiB
Plaintext
This contains a number of benchmarks and demos
|
|
based on Homer's Odyssey (which is widely available
|
|
in plain, line-oriented text format). There are a large
|
|
selection of online books at:
|
|
http://classics.mit.edu/
|
|
|
|
|
|
Our distribution ships with just the first chapter
|
|
in odyssey.txt. For a more meaningful speed test,
|
|
download the full copy from
|
|
http://www.reportlab.com/ftp/odyssey.full.zip
|
|
or
|
|
ftp://ftp.reportlab.com/odyssey.full.zip
|
|
and unzip to extract odyssey.full.txt (608kb).
|
|
|
|
Benchmark speed depends quite critically
|
|
on the presence of our accelerator module,
|
|
_rl_accel, which is a C (or Java) extension.
|
|
Serious users ought to compile or download this!
|
|
|
|
The times quoted are from one machine (Andy Robinson's
|
|
home PC, approx 1.2Ghz 128Mb Ram, Win2k in Sep 2003)
|
|
in order to give a rough idea of what features cost
|
|
what performance.
|
|
|
|
|
|
The tests are as follows:
|
|
|
|
(1) odyssey.py (produces odyssey.pdf)
|
|
This demo takes a large volume of text and prints it
|
|
in the simplest way possible. It is a demo of the
|
|
basic technique of looping down a page manually and
|
|
breaking at the bottom. On my 1.2 Ghz machine this takes
|
|
1.91 seconds (124 pages per second)
|
|
|
|
(2) fodyssey.py (produces fodyssey.pdf)
|
|
This is a 'flowing document' we parse the file and
|
|
throw away line breaks to make proper paragraphs.
|
|
The Platypus framework renders these. This necessitates
|
|
measuring the width of every word in every paragraph
|
|
for wrapping purposes.
|
|
|
|
This takes 3.27 seconds on the same machine. Paragraph
|
|
wrapping basically doubles the work. The text is more
|
|
compact with about 50% more words per page. Very roughly,
|
|
we can wrap 40 pages of ten-point text per second and save
|
|
to PDF.
|
|
|
|
(3) dodyssey.py (produced dodyssey.pdf)
|
|
This is a slightly fancier version which uses different
|
|
page templates (one column for first page in a chapter,
|
|
two column for body poages). The additional layout logic
|
|
adds about 15%, going up to 3.8 seconds. This is probably
|
|
a realistic benchmark for a simple long text document
|
|
with a single pass. Documents doing cross-references
|
|
and a table of contents might need twice as long.
|