13.5 General Performance Information and Results
A limited number of performance related tests have been conducted to date, comparing the performance
of iSeries Linux to other environments on iSeries and to compare performance to similarly configured
(especially CPU MHz) pSeries running the application in an AIX environment.
Computational Performance -- C-based code
A factor not immediately obvious is that most Linux and Open Source code are constructed with a single
compiler, the GNC (gcc or g++) compiler.
In Linux, computational performance is usually dominated by how the gcc/g++ compiler stacks up
against commercial alternatives such as xlc (OS/400 PASE) and ILE C/C++ (OS/400).
The leading cause
of any CPU performance deficit for Linux (compared to Native OS/400 or OS/400 PASE) is the quality of
the gcc compiler's code generation.
This is widely known in the Open Source community and is
independent of the CPU architecture.
Generally, for integer-based applications (general commercial):
y
OS/400 PASE (xlc) gives the fastest integer performance.
y
ILE C/C++ is usually next
y
Linux (gcc) is last.
Ordinarily, all would be well within a binary order of magnitude of each other. The difference is close
enough that ILE C/C++ sometimes is faster than OS/400 PASE. Linux usually lags slightly more, but is
usually not significantly slower.
Generally, for applications dominated by floating point, the rankings change somewhat.
y
OS/400 PASE almost always gives the fastest performance.
y
Linux and ILE C/C++ often trail substantially. In one measurement, Linux took 2.4 times longer than
PASE.
ILE C/C++ floating point performance will be closer to Linux than to OS/400 PASE. Note carefully that
most commercial applications
do not
feature floating point.
This chart shows some general expectations that have been confirmed in several workloads.
IBM i 6.1 Performance Capabilities Reference - January/April/October 2008
©
Copyright IBM Corp. 2008
Chapter 13 - Linux
181