Forum > General

x64 fpc 3.0.0 ?

<< < (2/2)

marcov:
On Linux 64-bit distributions, a much higher percentage of everything is 64-bit, and because of PIE/PIC 64-bit is a bit better there.

Jonas Maebe:

--- Quote from: Groffy on December 01, 2015, 02:57:56 pm ---Just curious, why there are x64 fpc 3.0.0 rpm packages under Linux?

--- End quote ---
It's mostly because x86 Linux distributions require a native compiler, so it has to be supported anyway. A cross-compiling setup is also more complicated on Linux, because some of our utilities link against libc/libiconv/libpthread, which on Linux means that you have to install an i386 version of those libraries (while on Windows, and OS X, all architecture versions of the system libraries are always installed).

AlanTheBeast:

--- Quote from: Jonas Maebe on December 01, 2015, 10:41:20 am ---No, there is no such version. The reasons include
    1: there is no advantage to have an x86_64 compiler binary over an i386 one: it's not much if any faster, and uses a lot more memory

--- End quote ---

Compiling (OS X 10.11, fpc 3.0.0) x86_64 gives me a 10 - 15% speed boost on a parallel threaded program I have for test purposes.  (Unfortunately the program I'm working (/test) is not working in _64 - see other post).

Jonas Maebe:

--- Quote from: AlanTheBeast on January 02, 2016, 04:40:35 pm ---
--- Quote from: Jonas Maebe on December 01, 2015, 10:41:20 am ---No, there is no such version. The reasons include
    1: there is no advantage to have an x86_64 compiler binary over an i386 one: it's not much if any faster, and uses a lot more memory

--- End quote ---

Compiling (OS X 10.11, fpc 3.0.0) x86_64 gives me a 10 - 15% speed boost on a parallel threaded program I have for test purposes.  (Unfortunately the program I'm working (/test) is not working in _64 - see other post).

--- End quote ---
I meant that the compiler binary itself is not much if any faster when compiled for x86-64, because it mostly does pointer chasing/loading. It's not a program that generally benefits much from having extra registers available, or from being able to perform 64 bit maths. On the contrary, it fills up the caches a lot more quickly when compiled for 64 bit because all pointers double in size.

AlanTheBeast:
Doh!   :-[

Navigation

[0] Message Index

[*] Previous page

Go to full version