UTILS\AUSQ.DOC ·
DOC ·
5.6 KB ·
1985-05-25 ·
from CompuLink-User-Group_Magazette_Vol-1-Issue-2_1985
ausq version 1.00
written by Phil Suematsu
March 24, 1984
ausq will unsqueeze files that were squeezed by an SQ program. It
requires 64k bytes of RAM to execute. Currently, there is no "asq"
counterpart program. Any SQ program may be used in conjunction with
ausq as well as other file unsqueezers. One disadvantage to ausq
version 1.00 is that it may only be executed under DOS version 2.0 or
greater. However, it is easy to use. Change the default disk drive to
the disk you want the unsqueezed files to reside in and type:
ausq filename
Where "filename" is any valid file name path, which may include
directory paths. You may also list more than one filename after
"ausq". If the original unsqueezed filename contained any illegal
filename characters, they will be replaced by a dollar sign.
The advantages to using ausq over any other unsqueezing program
are: the executable file is 2K bytes long and it unsqueezes files
faster than any other of its predecessors. The reason why the
executable file is so small is that it was written in assembly
language. The reasons why the it outperforms other unsqueezing
programs, which are usually written in high-level languages, are:
reading and writing of data to and from files are done in blocks of 28K
bytes, the most often used program variables are kept in the 8088
registers, and the program was designed to avoid the unnecessary
branching and calling that often creeps into high-level language
programs.
Two other unsqueezing programs, ZUSQ and USQ (USQLC10.COM) were
benchmarked against ausq. The test files were the WordStar
documentation files and a picture of the Mona Lisa. The bencmarks were
performed while running under DOS 2.1, 16 buffers were configured and
FASTDISK.COM was used. The elapsed times that were recorded were the
time it took to load the unsqueezing program and unsqueeze the file.
Then the elapsed times of the other two unsqueezing programs were
divided by the elapsed time of ausq to determine how many times faster
ausq unsqueezed the files. These were the results:
===================*=========*=========*=========*=========*=========*
File | WSTOC | WSHELP1 | WSHELP2 | WSINDEX | MONA |
-------------------+---------+---------+---------+---------+---------+
Squeezed length | 2432 | 34826 | 28416 | 6400 | 6272 |
-------------------+---------+---------+---------+---------+---------+
Unsqueezed length | 3968 | 64384 | 50176 | 12288 | 28672 |
===================*=========*=========*=========*=========*=========*
Using one memory drive:
===================*=========*=========*=========*=========*=========*
ausq time (seconds)| 1.43 | 11.04 | 9.12 | 2.69 | 3.13 |
-------------------+---------+---------+---------+---------+---------+
USQ time (seconds) | 3.35 | 42.68 | 34.44 | 8.57 | 11.48 |
-------------------+---------+---------+---------+---------+---------+
ZUSQ time (seconds)| 2.86 | 36.36 | 29.33 | 7.25 | 9.89 |
===================*=========*=========*=========*=========*=========*
USQ time/ausq time | 2.34 | 3.87 | 3.78 | 3.19 | 3.67 |
-------------------+---------+---------+---------+---------+---------+
ZUSQ time/ausq time| 2.00 | 3.29 | 3.21 | 2.70 | 3.16 |
===================*=========*=========*=========*=========*=========*
Using one disk drive:
===================*=========*=========*=========*=========*=========*
ausq time (seconds)| 4.61 | 19.61 | 16.81 | 6.59 | 8.18 |
-------------------+---------+---------+---------+---------+---------+
USQ time (seconds) | 6.97 | 78.21 | 58.78 | 16.27 | 22.02 |
-------------------+---------+---------+---------+---------+---------+
ZUSQ time (seconds)| 7.09 | 73.98 | 56.41 | 15.77 | 20.59 |
===================*=========*=========*=========*=========*=========*
USQ time/ausq time | 1.51 | 3.99 | 3.50 | 2.46 | 2.69 |
-------------------+---------+---------+---------+---------+---------+
ZUSQ time/ausq time| 1.54 | 3.77 | 3.36 | 2.39 | 2.52 |
===================*=========*=========*=========*=========*=========*
Using two disk drives:
===================*=========*=========*=========*=========*=========*
ausq time (seconds)| 4.28 | 19.77 | 16.43 | 5.87 | 7.86 |
-------------------+---------+---------+---------+---------+---------+
USQ time (seconds) | 8.73 | 100.68 | 82.94 | 20.70 | 27.08 |
-------------------+---------+---------+---------+---------+---------+
ZUSQ time (seconds)| 8.24 | 97.18 | 79.54 | 19.94 | 25.10 |
===================*=========*=========*=========*=========*=========*
USQ time/ausq time | 2.04 | 5.09 | 5.05 | 3.53 | 3.45 |
-------------------+---------+---------+---------+---------+---------+
ZUSQ time/ausq time| 1.93 | 4.91 | 4.84 | 3.40 | 3.19 |
===================*=========*=========*=========*=========*=========*
If you like this program or would like the assembly source code to this
program a twenty-five dollar contribution would be appreciated, but not
manditory. Comments, suggestions, and problem reports would be greatly
appreciated. Send any contributions, and your address if you want the
assembly source code, to:
Phil Suematsu
329 South Merelet Lane
Orange, CA 92669
Key <ENTER> to continue: