1 |
|
2 |
Start by downloading the Software. |
3 |
Unpack everything in some arbitrary directory. |
4 |
For the tests, you will also need some isis database, |
5 |
which must be located as files db/cds/cds.*, see downloads. |
6 |
Make sure filenames are lowercase. |
7 |
|
8 |
If you are on Windows, you should either get yourself the cygwin |
9 |
environment with tools like gmake and gcc or volunteer as a porter and |
10 |
start writing the Makefile for your make and compiler. Erik has build |
11 |
a Windows version using mingw and Linux gcc as crosscompiler. If you |
12 |
are on Linux, everything is fine. Ports to MAC OS X and other UNIXes |
13 |
should be no problem. |
14 |
|
15 |
Type "make" and enjoy the compiler messages. |
16 |
(If your make complains, e.g. on BSD, try "gmake"). |
17 |
Type "make demo" and enjoy your first open isis record. |
18 |
(You installed a db/cds/cds.*, didn't you? It has more than 42 rows?) |
19 |
Type "make run" and watch the guts of your db passing by. |
20 |
Type "make test", there should be no difference between the testout.txt and |
21 |
the testres.txt as provided (using the cds database from winisis |
22 |
and the 15 MB 58.000+ row unesb db, see downloads). |
23 |
Type "make time" to measure performance, |
24 |
subsequent tries are usually much faster. |
25 |
My 800 MHz P3 random-reads more than 179.000 records a second, |
26 |
once the files are in the system cache. |
27 |
Typical values: |
28 |
$ |
29 |
time ./openisis -perf 1000000 -db db/cds/cds >/dev/null |
30 |
|
31 |
real 0m5.655s |
32 |
user 0m3.650s |
33 |
sys 0m2.000s |
34 |
|
35 |
time ./openisis -perf 100000 -db db/unesb/unesb >/dev/null |
36 |
|
37 |
real 0m0.991s |
38 |
user 0m0.670s |
39 |
sys 0m0.320s |
40 |
|
41 |
time ./openisis -fmt mfnf -search 'k$' -db db/unesb/unesb >/dev/null |
42 |
860 rows for k |
43 |
|
44 |
real 0m0.044s |
45 |
user 0m0.040s |
46 |
sys 0m0.000s |
47 |
$ |
48 |
|
49 |
Type "make perl" to build the perl stuff; |
50 |
some perl 5.* must be installed beforehand. |
51 |
Type "make java" or, if you just can't get enough, "make jdump", |
52 |
to see it all happen in your shiny new JDK1.3 Java VM. |
53 |
Some 1.2.* JDKs should do, but tell the Makefile to not look |
54 |
in /usr/java/jdk1.3 by setting JAVAHOME. |
55 |
|
56 |
* installing openisis |
57 |
|
58 |
libopenisis.a can be linked with your code; no installation necessary. |
59 |
You may wan't to install the 'openisis' binary somewhere in your path |
60 |
for the fun of it; go ahead, just copy, no magic registry entries. |
61 |
|
62 |
To install the perl stuff for general availability in your |
63 |
/usr/lib/perl5 or whatever, cd to the perl subdir (after "make perl") |
64 |
and issue "make install" (as root or otherwise legitimated). |
65 |
After that, try "perldoc OpenIsis" and the demo.pl script. |
66 |
|
67 |
Java, like perl, needs to dynamically slurp both some stuff in the own |
68 |
language and a native shared object. The former is openisis.jar, set |
69 |
your CLASSPATH to include it, or specify when invoking java like in |
70 |
the Makefile. The latter is libopenjsis.so on linux (yes, it's jsis). |
71 |
The system dynamic linker must be able to find it; |
72 |
see |
73 |
> /jdoc/org/openisis/NativeDb.html NativeDb.java |
74 |
for details. |
75 |
|
76 |
... GetIt |