[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Patch
- To: XTL list <xtl@lsd.di.uminho.pt>
- Subject: Patch
- From: Angus Leeming <a.leeming@ic.ac.uk>
- Date: Fri, 28 Apr 2000 13:15:02 +0100
- Delivered-To: mailing list xtl@lsd.di.uminho.pt
- Mailing-List: contact xtl-help@lsd.di.uminho.pt; run by ezmlm
The attached tar file contains re-worked xdr.h and giop.h and a patch of all
the other little changes that I've made. The patch is against xtl-1.3.pl.8.
The patch is largely small changes to the code to make it strictly ANSI
compliant, so that I could compile with DEC's cxx. There are other small
changes, however.
Note 1
=====
xdr.h now aligns data on 32 bit boundaries. Data remains in big endian format.
Both it and giop.h work cleanly. Note that the input_raw() routines are
unchanged from the original versions.
Note 2
=====
All code, except examples/auto compiles with both DEC cxx and gcc-2.95.2.
examples/auto triggers an internal compiler bug in gcc.
All code compiles without warnings, except for DEC cxx's declaration that long
long is not standard. rpcgen also has warnings. See earlier post.
All compiled code runs successfully. The benchmark results are at the bottom of
this mail.
Note 3
=====
The "quick hack" in md.h was incorrect. I've replaced it with my own that does
work!
Note 4
=====
I've created a new method in generic_format::reset_buffer()
void reset_buffer() {
buffer.rewind();
output_start();
}
(and similarly in v_format)
This is used in examples/bench/xtl and examples/bench/vxtl, replacing
mb.rewind()
with
gf.reset_buffer()
etc.
I've done this because mb.rewind() loses the byte order and alignment
information in GIOP_format.
Note 5
=====
I've modified alltests.h to make it a harder test for alignment.
Note 6
=====
In the copyright notice at the start of each file, shouldn't the web address:
jop@di.uminho.pt - http://gsd.di.uminho.pt/~jop
be
jop@di.uminho.pt - http://gsd.di.uminho.pt/jop
?
Best wishes,
Angus
Benchmark results
==============
Note the times for raw!!!!
Fri Apr 28 13:13:19 BST 2000
bench/memcpy
memcpy
real 0.1
user 0.1
sys 0.0
real 0.1
user 0.1
sys 0.0
real 0.1
user 0.1
sys 0.0
memcpy opt
real 0.1
user 0.1
sys 0.0
real 0.1
user 0.1
sys 0.0
real 0.1
user 0.1
sys 0.0
bench/rpcgen
rpcgen
real 1.9
user 1.9
sys 0.0
real 1.9
user 1.9
sys 0.0
real 1.9
user 1.9
sys 0.0
rpcgen opt
real 2.2
user 2.0
sys 0.0
real 2.1
user 2.0
sys 0.0
real 3.8
user 2.1
sys 0.0
bench/xtl
xdr
436000
real 11.6
user 8.5
sys 0.0
436000
real 11.7
user 8.5
sys 0.0
436000
real 11.5
user 8.5
sys 0.0
xdr opt
436000
real 1.6
user 1.2
sys 0.0
436000
real 1.6
user 1.2
sys 0.0
436000
real 1.6
user 1.2
sys 0.0
giop
455996
real 17.1
user 11.4
sys 0.0
455996
real 17.8
user 11.4
sys 0.0
455996
real 16.7
user 11.4
sys 0.0
giop opt
455996
real 3.8
user 2.7
sys 0.0
455996
real 3.5
user 2.7
sys 0.0
455996
real 3.5
user 2.6
sys 0.0
raw
415000
real 3830.7
user 17.1
sys 138.6
415000
real 3830.7
user 17.2
sys 137.3
415000
real 3838.6
user 17.1
sys 138.2
raw opt
415000
real 3889.4
user 6.2
sys 137.3
415000
real 3885.6
user 6.2
sys 137.9
415000
real 3893.4
user 6.2
sys 137.7
patch.tar.gz
- Follow-Ups:
- Re: Patch
- From: Jose Orlando Pereira <jop@di.uminho.pt>