Having cranked Solaris Unix up to 11, software giant Oracle has now revved up a new companion set of compilers that work with the new operating system as well as the current Oracle Linux clone of Red Hat's Enterprise Linux.
The Solaris Studio 12.3 C, C++, and Fortran compilers might bear the Solaris brand and they may have their heritage on the many different platforms that Forte Software originally supported – a company that Sun Microsystems acquired for $540m back in August 1999 – but the Solaris Studio set spans Sparc T and M series processors as well as earlier Sparc iron running Solaris 10 or 11, and various x86 platforms running Solaris 10 or 11, Oracle Enterprise Linux 5 and 6, and Red Hat Enterprise Linux 5 and 6.
The Studio integrated development environment has two pieces: a code compiler suite and a code analysis suite.
The compiler suite includes C and C++ compilers that have features which make them compatible with the GNU GCC open source compiler set; a Fortran compiler that is compatible with the Fortran77, Fortran90, and Fortran95 specs; the DBX debugger (which works on source code as well as in real-time mode on compiled code); and a performance library chock full of various mathematical algorithms.
The analysis suite has a performance analyzer (to show where performance bottlenecks are between code and the operating system), and in addition to supporting Oracle's C, C++, and Fortran, the performance analyzer also supports Java. A code analyzer detects dozens of common coding errors and is, in effect, a spell-checker for apps. A thread analyzer sniffs out threading errors in the code to avoid race and deadlock conditions.
The Solaris Studio IDE runs on Windows, Mac, or Unix clients, but it only creates Solaris, RHEL, or OEL code, which is obviously compiled on the server platforms at which the apps are aimed.
With the Solaris Studio 12.3 update, as you can see from the release notes, Oracle says that applications will compile up to 20 per cent faster – which, sadly, will leave coders with less time to play video games and surf the web.
Oracle also claims that code running on modern Sparc T4 or x86 processors with lots of cores and threads will run up to 300 per cent faster than the same applications compiled with "open source alternatives". From the marketing language Oracle is using, it looks like you need to pair Solaris 11 and the Sparc T4 processors with the new compilers to get the performance jump they're talking about.
Incidentally, you will need the 12.3 compilers to code on Sparc T4-based systems. The 12.3 tools add support for the AES encryption instructions in Intel's "Westmere" and "Sandy Bridge" processors, as is support for Sandy Bridge AVX vector math. The compiler also supports the OpenMP 3.1 shared memory parallelization spec.
The 12.3 update includes features to detect code security vulnerabilities, such as memory leaks and memory access violations, in the code analyzer. Oracle is predictably integrating the compiler stack and IDE with the Oracle 11g database management system that is the heart and soul of the software company, allowing database connections from inside the IDE and the real-time browsing of the database for app developers.
Oracle's Pro*C embedded SQL is now supported in Solaris Studio, which presumably means that the embedded SQL statements written in Pro*C can kick out Studio C or C++ statements and have the Studio compilers crunch the code down to binary. The Studio 12.3 stack is also updated through the new Image Packaging System that debuted with Solaris 11 back in November.
The Solaris Studio IDE and compilers are distributed free through the Oracle Technology Network, and you can download the 12.3 release here.
Black tie, glass house
In addition to tossing out the new compilers, Oracle has also updated its Tuxedo transaction processing monitoring and mainframe application rehosting software to the 11g Release 2 level.
The Tuxedo tools are technically part of the Fusion Middleware 11g stack, but like so many things at Oracle, the Tuxedo tools have their origins elsewhere, in this case telephone giant AT&T. The Tuxedo stack, which allowed CICS and COBOL applications smacking an IMS database to be moved to Unix systems, was sold off to Novell when it bought Unix Systems Laboratories from AT&T in 1993. Three years later, middleware maker BEA Systems inked a deal with Novell to develop versions of Tuxedo for other platforms, and Oracle snapped up BEA in 2008, thereby gaining control not only of the popular WebLogic application server, but also Tuxedo, a fast message-queuing and transaction-monitoring system with mainframe-class features and uptime.
With Tuxedo 11g R2, the big change is support for running this transaction monitor on Oracle's Exalogic Elastic Cloud X2-2 middleware cluster, which debuted in September 2010. Oracle says that the combination of running Tuxedo on a parallel Exalogic cluster and hitting an Oracle 11g database running on an Exadata cluster can "increase data access throughput" for the Tuxedo applications by a factor of five – although compared to what is not clear. The company also says that the cost of running mainframe apps is one fifth on a Tuxedo cluster compared to the same cost on IBM mainframes.
The application runtime for IMS mainframe apps has some nips and tucks, and Tuxedo can now talk to Oracle's Berkeley DB, a NoSQL database that is at the heart of the company's new Big Data Appliance Hadoop data-muncher announced in October. One change is that customers can use the COBOL-IT compiler and port VSAM flat files to Berkeley DB instead of Oracle 11g. ®