On Dec 21, 2006, at 3:19 PM, David Balmain wrote:
I'll be very interested to see if it there is a noticable performance
difference with the "final" classes.
I implemented final methods and final classes a little while back.
All of the following classes became final, which means that all of
their methods became aliases for functions rather than double-
dereference invocations via vtable:
DelDocs
PostingsWriter
SegInfo
TermInfo
TermInfosWriter
TermVectorsReader
TermVectorsWriter
InStream
OutStream
SortExternal
Truncated mean time to index 1000 Reuters news stories:
Before: 1.83 seconds
After: 1.82 seconds
Glad it didn't take me very long to implement. :)
It's worth noting, though, that a lot of the VInt-writing was already
handled via function calls.
Marvin Humphrey
Rectangular Research
http://www.rectangular.com/
slothbear:~/projects/ks/perl/t/benchmarks marvin$ perl -Mblib
indexers/kinosearch_indexer.plx --docs=1000 --reps=30
------------------------------------------------------------
1 Secs: 1.82 Docs: 1000
2 Secs: 1.83 Docs: 1000
3 Secs: 1.83 Docs: 1000
4 Secs: 1.84 Docs: 1000
5 Secs: 1.86 Docs: 1000
6 Secs: 1.81 Docs: 1000
7 Secs: 1.83 Docs: 1000
8 Secs: 1.83 Docs: 1000
9 Secs: 1.85 Docs: 1000
10 Secs: 1.82 Docs: 1000
11 Secs: 1.81 Docs: 1000
12 Secs: 1.80 Docs: 1000
13 Secs: 1.81 Docs: 1000
14 Secs: 1.82 Docs: 1000
15 Secs: 1.82 Docs: 1000
16 Secs: 1.82 Docs: 1000
17 Secs: 1.82 Docs: 1000
18 Secs: 2.23 Docs: 1000
19 Secs: 1.85 Docs: 1000
20 Secs: 1.86 Docs: 1000
21 Secs: 1.82 Docs: 1000
22 Secs: 1.84 Docs: 1000
23 Secs: 1.82 Docs: 1000
24 Secs: 1.85 Docs: 1000
25 Secs: 1.81 Docs: 1000
26 Secs: 1.84 Docs: 1000
27 Secs: 2.36 Docs: 1000
28 Secs: 1.87 Docs: 1000
29 Secs: 1.83 Docs: 1000
30 Secs: 1.81 Docs: 1000
------------------------------------------------------------
KinoSearch 0.20_01
Perl 5.8.6
Thread support: yes
Darwin 8.8.0 Power Macintosh
Mean: 1.86 secs
Truncated mean (16 kept, 14 discarded): 1.83 secs
------------------------------------------------------------
slothbear:~/projects/ks/perl/t/benchmarks marvin$
slothbear:~/projects/ks/perl/t/benchmarks marvin$ perl -Mblib
indexers/kinosearch_indexer.plx --docs=1000 --reps=30
------------------------------------------------------------
1 Secs: 1.89 Docs: 1000
2 Secs: 1.83 Docs: 1000
3 Secs: 1.83 Docs: 1000
4 Secs: 1.83 Docs: 1000
5 Secs: 1.81 Docs: 1000
6 Secs: 2.26 Docs: 1000
7 Secs: 2.00 Docs: 1000
8 Secs: 1.80 Docs: 1000
9 Secs: 1.83 Docs: 1000
10 Secs: 1.82 Docs: 1000
11 Secs: 1.80 Docs: 1000
12 Secs: 1.81 Docs: 1000
13 Secs: 1.92 Docs: 1000
14 Secs: 1.81 Docs: 1000
15 Secs: 2.32 Docs: 1000
16 Secs: 1.83 Docs: 1000
17 Secs: 1.81 Docs: 1000
18 Secs: 1.81 Docs: 1000
19 Secs: 1.79 Docs: 1000
20 Secs: 1.81 Docs: 1000
21 Secs: 1.79 Docs: 1000
22 Secs: 1.88 Docs: 1000
23 Secs: 1.82 Docs: 1000
24 Secs: 2.31 Docs: 1000
25 Secs: 1.83 Docs: 1000
26 Secs: 1.84 Docs: 1000
27 Secs: 1.83 Docs: 1000
28 Secs: 1.83 Docs: 1000
29 Secs: 1.83 Docs: 1000
30 Secs: 1.81 Docs: 1000
------------------------------------------------------------
KinoSearch 0.20_01
Perl 5.8.6
Thread support: yes
Darwin 8.8.0 Power Macintosh
Mean: 1.88 secs
Truncated mean (16 kept, 14 discarded): 1.82 secs
------------------------------------------------------------
slothbear:~/projects/ks/perl/t/benchmarks marvin$