I’m confused now as I’m pretty sure Delphi uses a standard format to represent 
float (the same format used anywhere else for that matter).   In which case a 
float is essentially two int32 (or other int’s depending on the scale of the 
float).  Ie a single used two int16.

One int represented the mantissa the other the exponent (in essence the decimal 
portion).  Together they resulted in the floating point value.

How would you describe this otherwise?


From: [email protected] 
[mailto:[email protected]] On Behalf Of Jolyon Smith
Sent: Sunday, 17 August 2014 12:54 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] Int64 or floating point faster?

That's curious.  Who are "they" ?  It doesn't sound like any floating point 
implementation I ever came across in Delphi (or anywhere else, for that 
matter).  O.o

On 17 August 2014 12:28, Pieter De Wit 
<[email protected]<mailto:[email protected]>> wrote:
Hi Jolyon,

From memory, they used 2 int32's to make a float - this could have been int16's 
- memory is very vague on this :) The one was used to represent the whole 
numbers and the other was to show the decimal numbers

Cheers,

Pieter


On 17/08/2014 12:05, Jolyon Smith wrote:
@Pieter - I don't understand what you mean when you say that "float was 
int32.int32".  For starters, "float" is an imprecise term.  If you mean 
"single" then the entire value was always 32 bit in it's entirety.  If you mean 
double then it was always 64 bit.  What is this "in32.int32" type of which you 
speak ?  O.o

On 17 August 2014 11:52, Jolyon Smith 
<[email protected]<mailto:[email protected]>> wrote:
I think there are too many variables involved to give an answer to this 
question without some of those variables being reduced to known values.

e.g.  what hardware ?  what version of Delphi ?  x64 target or x86 ?  what 
precision of floating point ?

Having said that, in a quick test knocked up in my Smoketest framework I found 
that Double comfortably outperforms Int64 when compiling for Win32 but that 
both Double and Int64 demonstrated improved performance when compiling for 
Win64 and that whilst Double still showed some advantage it was not as 
significant (and in some test runs the difference was negligible).

If you are targeting FireMonkey you will have to bear in mind that the back-end 
compiler is different to the x86/x64 backend, so results obtained using the 
WinXX compilers will not necessarily be indicative of performance on the ARM or 
LLVM platforms.


Conditions:

 - Delphi XE4
 - Running in a 64-bit Win 7 VM
 - No testing was done for correctness of the results.



On 16 August 2014 15:30, Ross Levis 
<[email protected]<mailto:[email protected]>> wrote:
Would I be correct that int64 multiplications would be faster than floating 
point in Delphi?  My app needs to do several million.


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]<mailto:[email protected]>
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to 
[email protected]<mailto:[email protected]>
 with Subject: unsubscribe




_______________________________________________

NZ Borland Developers Group - Delphi mailing list

Post: [email protected]<mailto:[email protected]>

Admin: http://delphi.org.nz/mailman/listinfo/delphi

Unsubscribe: send an email to 
[email protected]<mailto:[email protected]>
 with Subject: unsubscribe


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]<mailto:[email protected]>
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to 
[email protected]<mailto:[email protected]>
 with Subject: unsubscribe

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [email protected] with 
Subject: unsubscribe

Reply via email to