aboutsummaryrefslogtreecommitdiff
path: root/src/alf.rst
diff options
context:
space:
mode:
Diffstat (limited to 'src/alf.rst')
-rw-r--r--src/alf.rst20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/alf.rst b/src/alf.rst
index 4d48afc..0d2020e 100644
--- a/src/alf.rst
+++ b/src/alf.rst
@@ -170,14 +170,18 @@ a DOS capable of handling multi-megabyte files...
Performance
-----------
-Performance is *horrible*. This shouldn't be a real problem on
-modern multi-GHz CPU, especially since most Atari 8-bit files are
-small (usually under 64KB). Interestingly, it's not O(n^2), it scales
-linearly, O(1): Compressing a 1.3MB text file takes 0.7 seconds on the
-author's (rather modest) Intel i7 workstation, and a file 10x as large
-takes approximately 10x as long (7 seconds). A 50KB file is almost
-instantaneous, 0.05 seconds, which is more typical of the files you'd
-actually use this with.
+Performance is pretty good, as of alftools-0.3.0. For small files
+like you'd use on an Atari (up to 50KB), it's basically instantaneous
+(under 0.02 seconds) on the author's modest i7 workstation. For a 1MB
+text file, it takes 0.05 sec; for 1MB of random garbage, it's 0.1
+sec (and the resulting ALF file is 36% larger than the garbage).
+
+By comparison, **zip** takes 0.6 seconds to compress the 1MB text file,
+and 0.03 sec for the 1MB randomness (and the compressed file is still
+larger than the input, but only by 312 bytes). The speed demon is **arc**\:
+it compresses the text file in 0.03s, and it's smart enough to *not*
+compress the random garbage (it uses the 'store' method, which **alf**
+doesn't have).
Timestamps
----------