[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Data types (was: Re: Access the neighbors of an element)
From: |
Paul Kienzle |
Subject: |
Re: Data types (was: Re: Access the neighbors of an element) |
Date: |
Tue, 15 Feb 2005 21:06:17 -0500 |
Still more timing data on the difference between using unsigned
ops and casting to double when calculating sums and products of
unsigned integers.
If anybody is using them, then it is probably worthwhile to
implement them using pure integer operations rather than
converting them to double and back, especially since it allows
us to support 64 bit integer ops correctly.
- Paul
Type Op DBLSAT SAT NOSAT (for MIPS)
CHAR ADD 1.764 1.008 0.532
SHORT ADD 1.427 1.006 0.529
LONG ADD 1.777 0.629 0.416
LLONG ADD 2.458 0.630 0.416
CHAR MULT 1.490 1.489 1.322
SHORT MULT 1.336 2.834 1.298
LONG MULT 1.728 2.214 1.411
LLONG MULT 2.061 2.218 2.229
Type Op DBLSAT SAT NOSAT (for PPC)
CHAR ADD 3.119 0.731 0.598
SHORT ADD 3.322 0.674 0.520
LONG ADD 4.507 0.420 0.318
LLONG ADD 26.995 1.293 0.823
CHAR MULT 2.699 0.785 0.672
SHORT MULT 2.647 0.975 0.772
LONG MULT 2.640 1.176 0.622
LLONG MULT 19.662 1.863 1.631
Type Op DBLSAT SAT NOSAT (for X86 32)
CHAR ADD 11.115 1.480 0.911
SHORT ADD 9.955 1.594 1.336
LONG ADD 19.034 1.381 0.863
LLONG ADD 42.416 2.722 2.602
CHAR MULT 5.343 2.311 1.045
SHORT MULT 4.192 1.856 1.452
LONG MULT 10.320 1.842 1.011
LLONG MULT 29.523 6.033 5.220 (4.243 for LITTLEENDIAN_32 SAT)