This article describes how to optimize the performance of enterprise systems that employ extensive time-stamping using the We have observed that the common practice of "time-stamping" messages, transactions, or other objects in a system can consume more resources than the developer might expect. In these systems, the With many -- often thousands, or tens of thousands -- of active objects in typical enterprise system, this can lead to an excessively high use of system CPU cycles. We have observed systems processing thousands of transactions or messages every second, each of which requires a time stamp every time it is acted upon. Such systems can end up calling Two ways are available to reduce As an example, we have taken a sample application that performs data distribution for analysis. The application handles thousands of messages every second. Each message is time stamped with the current time, using the % truss -c -p pid Here pid is the process ID for the sample application and the In Code Sample 1, we see an example
Code Sample 1:
truss Output Before Any Optimization
The results show that 785,118 calls were made to Since the The book Inside Solaris, by Richard Mc Dougall and Jim Mauro, says the following about
The source code for the shared library ( To compile the % cc -G -Kpic -o libfasttime.so -xO3 -xarch=v8plus time.c For a quick performance testing, this library can be preloaded for the purposes of linking with an application by setting the following (in bash): LD_FLAGS_32=preload=/tmp/libfasttime.so However, the preferred way is to link this Note: This library can also be compiled in 64-bit mode for 64-bit applications by using: % cc -G -Kpic -o libfasttime.so -xO3 -xarch=v9 time.c The library also can be preloaded by setting the following (in bash): LD_FLAGS_64=preload=/tmp/libfasttime.so In Code Sample 2, we provide the source code for the
Code Sample 2: Source Code for
time(2) Wrapper (File time.c )
Code Sample 3:
truss Output After Linking With Optimized fasttime Library
These code samples show that the number of times So if you have a system that makes extensive use of time stamping, or otherwise makes frequent calls to the
|
This article describes how to optimize the performance of enterprise systems that employ extensive time-stamping using the We have observed that the common practice of "time-stamping" messages, transactions, or other objects in a system can consume more resources than the developer might expect. In these systems, the With many -- often thousands, or tens of thousands -- of active objects in typical enterprise system, this can lead to an excessively high use of system CPU cycles. We have observed systems processing thousands of transactions or messages every second, each of which requires a time stamp every time it is acted upon. Such systems can end up calling Two ways are available to reduce As an example, we have taken a sample application that performs data distribution for analysis. The application handles thousands of messages every second. Each message is time stamped with the current time, using the % truss -c -p pid Here pid is the process ID for the sample application and the In Code Sample 1, we see an example
Code Sample 1:
truss Output Before Any Optimization
The results show that 785,118 calls were made to Since the The book Inside Solaris, by Richard Mc Dougall and Jim Mauro, says the following about
The source code for the shared library ( To compile the % cc -G -Kpic -o libfasttime.so -xO3 -xarch=v8plus time.c For a quick performance testing, this library can be preloaded for the purposes of linking with an application by setting the following (in bash): LD_FLAGS_32=preload=/tmp/libfasttime.so However, the preferred way is to link this Note: This library can also be compiled in 64-bit mode for 64-bit applications by using: % cc -G -Kpic -o libfasttime.so -xO3 -xarch=v9 time.c The library also can be preloaded by setting the following (in bash): LD_FLAGS_64=preload=/tmp/libfasttime.so In Code Sample 2, we provide the source code for the
Code Sample 2: Source Code for
time(2) Wrapper (File time.c )
Code Sample 3:
truss Output After Linking With Optimized fasttime Library
These code samples show that the number of times So if you have a system that makes extensive use of time stamping, or otherwise makes frequent calls to the
|