Saturday Jun 23, 2007
|
We are the Solaris Developer Information Products Team:
Richard Friedman, David Lindt, Kami Shahi, Jyothi Srinath, Paul Echeverri, Ann Rice, Alta Elstad, Susan Morgan, Frank Jennings
Today's Page Hits: 64
Saturday Jun 23, 2007
|
Here's a list of the current SDN articles dealing with tuning and optimization of applications on Solaris using Sun Studio compilers:
The SHADE library is an emulator for SPARC hardware. The particular
advantage of using SHADE is that it is possible to write an analysis tool which
gathers information from the application being emulated. The SHADE library comes
with some example analysis tools which track things like the number of
instructions executed or the frequency that each type of instruction is
executed. A more advanced analysis tool might look at cache misses that the
application encounters for a given cache structure.
(September 29, 2006)
Friday Jun 08, 2007
|
There's a new article on the SDN Sun Studio portal:
| By Timothy Jacobson, Sun Microsystems, June 2007 |
|
By using performance flags, developers can quickly improve execution speed. However, sometimes compiler flags alone do not result in optimum performance. For this reason, Sun Studio compilers also allow inline assembly code to be placed in critical areas. The inline code behaves similarly to a function or subroutine call, which enables cleaner, more readable code and also enables variables to be directly accessed in the inline assembly code.
This paper provides a demonstration of how to measure the performance of a critical piece of code. An example using a compiler flag and another example using inline assembly code are provided. The results are compared to show the benefits and differences of each approach.
mandelbrot.cmandelbrot.c With -fastmandelbrot.c With Inline Assembly CodeFor demonstration purposes, this paper uses an academic program to generate the Mandelbrot set. The example Mandelbrot program is written in C. Computing all the pixel values of the Mandelbrot set using the Sun Studio compiler is timed. Then, optimization flags are used and the computations are timed again. Finally, example Sun Studio inline assembly code is used and the computations are timed again and compared with the previous timings. The examples demonstrate two different methods for improving performance with the Sun Studio compiler: using flags and using inline assembly code.
THE REST OF THE ARTICLE IS ON THE SUN STUDIO SDN PORTAL