Consultor Eletrônico



Kbase P113045: How to compile 64-bit r-code ?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/31/2011
Status: Verified

GOAL:

How to compile 64-bit r-code ?

GOAL:

Is it possible to compile 64-bit r-code on a 32-bit OpenEdge license ?

GOAL:

Is it possible to compile 32-bit r-code on a 64-bit OpenEdge license ?

FACT(s) (Environment):

OpenEdge 10.1x
OpenEdge 10.1A 64-bit
Windows

FIX:

Starting with OpenEdge 10.1A, r-code is no longer portable between 32-bit and 64-bit platforms. 64-bit platforms will now run on 64-bit native r-code, as opposed to using the 32-bit r-code format.
This decision was made for performance reasons; the byte-alignment issues inherent to running 32-bit code on a 64-bit platform were slowing the client down to the point where little to no gain was seen. In extreme cases, the 64-bit client would actually perform worse that the 32-bit one.
The new 64-bit r-code on a 64-bit client provides (on average) a 15% better performance than the 32-bit r-code on a 32-bit client.

There are some complications to using 64-bit r-code however:

1. R-code size will increase, and frame segment limit is easier reached
Since the 64-bit r-code uses 8 byte structures instead of 4 bytes, the generated r-code files will be larger.
Also, the frame segment of the r-code files is still limited to 32K. Using the 8 byte offsets means this limit will be hit sooner.

2. Portability and backwards compatibility issues
- The 10.1A 64-bit clients (including AppServer and WebSpeed agents) can not run 32-bit r-code.
- The 10.1A 32-bit clients can not run 64-bit r-code.
- The 10.0x clients can not run the 64-bit r-code generated with 10.1A and must use 32-bit r-code. (in this case it is assumed that no new 10.1A features are used).

These points should be taken into account when planning migrations and/or new ports deployed on OpenEdge 10.1A.

3. A 64-bit OpenEdge is required to compile 64-bit r-code
The 10.1A 64-bit clients can not compile 32-bit r-code and vice-versa.

To compile the application code in 64-bit r-code it is advised to set up an inexpensive 64-bit Linux machine and install the appropriate Development Server license on this.

4. A 64-bit version for Windows is available on Windows 64-bit Beginning in 10.2A
However it is only available for the character client: _progres.exe