|
Up
| |
Case Studies
Ready-to-Run Software
delivers results. Examine the following project profiles as examples of how we
have improved the performance of applications for our clients:
-
Case Study
#1
Project Summary
-
Client had an existing web-based application written in CGI scripts, Perl, with Apache web
server and MySQL database. Their user community had grown dramatically from a
few hundred to greater than 8,000 users and, as a result, the performance
progressively degraded. Potential cost to shift to another database was a
major impediment.
-
Significant changes & improvements:
-
Database
indices
-
Migration of
miscellaneous, home-grown flat data files into MySQL database; no change in
database
-
Algorithm modifications
-
Apache configuration
tuning
-
Performance
Gain: Approximately 10 times faster performance.
-
Case Study
#2
Project
Summary
-
Client
had an existing, internally developed Java application (multi-threaded) used
to process real-time data. Expansion of their business resulted in the
application being unable to keep up with the real-time data feed. Using a
Java profiler and engineering analysis, RTR was able to determine the critical
constraints and to vastly improve the application throughput.
-
Significant changes &
improvements:
-
Changed container classes
for heavily used data structures
-
Improved
use of cache for reduction of system calls
-
Algorithm upgrades, e.g.
utilization of buffers to reallocate within loops
-
Developed data traffic
monitor to watch feed status and automatically take corrective action
-
Worked with customer to
identify & analyze sources of significant performance loss, e.g. log file disk
I/O, alternate JVM with optimized configuration
-
Performance Gain:
Approximately 8 times faster performance.
-
Case Study
#3
Project Summary
-
Client had commercially
available product with an existing, real-time text-to-speech engine running on
a single platform. In order to expand market share, they needed to port the
engine to a new platform while ensuring that the throughput was high enough to
be a viable solution. The client engaged RTR to migrate the engine and to
also optimize the application to meet strict performance thresholds. This work
required complete code profiling and analysis to determine & minimize sources
of time constraints and bottlenecks.
-
Significant changes &
improvements:
-
Improved and realigned
initialization code to accomplish more up front and minimize burden for each
new connection
-
Optimized use of shared
memory and semaphores
-
Enhanced efficient use of
memory
Reasons Why Your Code May Need A
Boost
The current generation of
compilers is very sophisticated and powerful. But, of course, compilers cannot
read the mind of the software engineer and do not know what the engineer is
trying to do. So, compiler-based optimization can only go so far. It takes
experience and analysis in order to push the performance of an application to
its limits. Some of the primary reasons why your software may be running slow:
-
Slow data
access
-
Improper or
inadequate use of cache to increase memory bandwidth and reduce
latencies
-
Lack of
parallel applications or poor process and thread scheduling
-
Inefficiency
of code itself (e.g. algorithm bloat, program structure and flow)
-
Lack of consideration for hardware
architectural differences (e.g. local buffers)
-
Improper I/O
handling
Find out
why companies choose RTR
to work on their software project. Contact RTR
representatives today to begin streamlining your existing code.
| |
|