Ways to Improve Performance

Profile-Based Optimization

Note that you could set SHLIB_FLOW_DATA to flow.data which is the same file as the default setting for FLOW_DATA. But, again, profile data will not be collected from shared libraries unless you explicitly set SHLIB_FLOW_DATA to some output file.

The following is a simple example for instrumenting, profiling, and optimizing a shared library:

$ cc +z

+I -c -O libcode.c

Create I-SOM files.

$ ld -b

-I libcode.o -o mylib.inst.sl

Create instrumented sl.

$ cc main.c mylib.inst.sl

Creat executablea.outile.

$ export SHLIB_FLOW_DATA=./flow.data

Specify output file for

 

profile data

Run instrumented executable

$ a.out

< input_file

$ ld -b

-P +pgm mylib.inst.sl \

with representative input data

Perform PBO.

libcode.o -o mylib.sl

Note that the name used in the database will be the output pathname specified when the instrumented library is linked (mylib.inst.sl in the example above), regardless of how the library might be moved or renamed after it is created.

Using PBO with ld -r

Beginning with the HP-UX 10.0 release, you can take greater advantage of PBO on merged object files created with the -rlinker option.

Briefly, ld -rcombines multiple .o files into a single .o file. It is often used in large product builds to combine objects into more manageable units. It is also often used in combination with the linker -hoption to hide symbols that may conflict with other subsystems in a large application. (See “Hiding Symbols with -h” on page 81 for more information on ld -h.)

In HP-UX 10.0, the subspaces in the merged .o file produced by ld -rare relocatable which allows for greater optimization.

The following is a simple example of using PBO with ld -r:

$ cc +I

-c file1.c file2.c

Create individual I-SOM files

$ ld -r

-I -o reloc.o file1.o file2.o Build relocatable, merged file.

$ cc +I

-o a.out reloc.o

Create instrumented executable file.

$ a.out

< input_file

Run instrumented executable with

 

 

representative input data.

$ ld -r

-P +pgm a.out -o reloc.o \

file1.o file2.o

Rebuild relocatable file for PBO.

$ cc +P

-o a.out reloc.o

Perform PBO on the final executable file.

Chapter 8

287

Page 287
Image 287
Kenwood HP 9000 manual Using PBO with ld -r

HP 9000 specifications

The Kenwood HP 9000 is a cutting-edge home appliance designed for culinary enthusiasts seeking to elevate their cooking experience. This powerful kitchen machine stands out for its multi-functionality, combining the roles of a food processor, blender, and mixer into one sleek unit.

One of the flagship features of the Kenwood HP 9000 is its robust motor, which delivers exceptional performance across various tasks. With a powerful motor that operates at multiple speeds, users can tackle everything from kneading dough to finely chopping vegetables with ease. The variable speed control allows for precision, ensuring that every ingredient is processed to perfection according to individual preferences.

The HP 9000 comes equipped with a variety of attachments that enhance its versatility. Among these are a stainless-steel mixing bowl, a dough hook, a whisk, and multiple cutting blades. This extensive array of accessories means that users can whip up delightful pastries, create homemade pasta, or prepare smoothies with minimal hassle. Each attachment is designed for easy attachment and removal, making the transition between tasks seamless and efficient.

Another key characteristic of the Kenwood HP 9000 is its advanced safety features. The design incorporates mechanisms that prevent the machine from operating unless all components are securely in place. This not only gives users peace of mind while cooking but also ensures longevity for the appliance, reducing the risk of wear and tear over time.

In terms of design, the HP 9000 is both modern and aesthetically pleasing. Its ergonomic shape and compact size make it easy to store and use in various kitchen settings, while the high-quality materials used in its construction guarantee durability and longevity. The user interface is intuitive, with clearly labeled buttons that facilitate operation, ensuring that even novice cooks can navigate the machine effortlessly.

Additionally, the Kenwood HP 9000 features innovative technologies, such as an integrated digital timer and a pulse function for added control during food preparation. These features enhance cooking precision, allowing users to achieve consistent results every time.

In summary, the Kenwood HP 9000 is an exceptional kitchen appliance that combines power, versatility, and safety. With its advanced features and user-friendly design, it is an ideal choice for anyone looking to simplify their cooking process while achieving professional-level results. Whether you're whipping up a quick meal or tackling an elaborate recipe, the HP 9000 is a reliable companion that will inspire culinary creativity.