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.
While database and network communications are still portable between 64-bit and 32-bit versions, there are some additional considerations to using 64-bit r-code:
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 32-bit OpenEdge is required to compile 32-bit r-code
To compile the application code in 32-bit r-code it is advised to install the 32-bit Development license on a machine and use that installation to compile for 32-bit deployments.
5. 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
All OpenEdge 11.0 r-code is portable across all platforms, (regardless of OS platform, Bit Architecture, Little or Big Endian architecture), as long as: - the code is written for the same user interface, (character mode versus graphical mode), and - the code does not contain references to Operating System specific commands that are not available on the target platform.
6. Beginning in OpenEdge 11.5 it is possible to install both 32-bit and 64-bit OpenEdge using the same version on the same system (so long as the operating system is 64-bit). |