White Box Testing
Test your code
   Home      Tools      TimingPerformance
 
AMD CodeAnalyst
AMD CodeAnalyst Performance Analyzer helps software developers to improve the performance of applications, drivers and system software. Well-tuned software delivers a better end-user experience through shorter response time, increased throughput and better resource utilization. AMD CodeAnalyst is a profiling tool used by developers worldwide to improve the performance of games and media-oriented applications, transaction processing, and high performance scientific/engineering computation.

Key Features & Benefits:

    Understand OpenCL API execution
    Optimize heterogeneous computing applications
    Quickly find performance hot-spots
    Diagnose performance issues using AMD technology
    Tune managed (e.g. Java, .Net) and native code (e.g. OpenCL, C, C++, Fortran)
    Analyze programs on multi-core and NUMA platforms
    Easy to use graphical user interface and command line tools
    Analyze programs within Visual Studio (2003, 2005 and 2010)
    Available for both Linux and Windows platforms

http://developer.amd.com/tools/CodeAnalyst/Pages/default.aspx
 
Intel VTune Amplifier XE
Intel VTuneTM Amplifier XE is a powerful threading and performance optimization tool for C/C++, .NET, and Fortran developers who need to understand an application's serial and parallel behavior to improve performance and scalability.

The powerful performance profiling tool removes the guesswork and analyzes performance behavior in Windows*and Linux* applications, providing quick access to scaling information for faster and improved decision making.

http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/
 
Apple's Shark
To help you analyze the performance of your code, Shark allows you to profile the entire system (kernel and drivers as well as applications). At the simplest level, Shark profiles the system while your code is running to see where time is being spent. It can also produce profiles of hardware and software performance events such as cache misses, virtual memory activity, memory allocations, function calls, or instruction dependency stalls. This information is an invaluable first step in your performance tuning effort so you can see which parts of your code or the system are the bottlenecks.

http://developer.apple.com/technologies/tools/
http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/SharkUserGuide/Introduction/Introduction.html
 
GNU gprof
gprof profiling allows you to learn where your program spent its time and which functions called which other functions while it was executing. This information can show you which pieces of your program are slower than you expected, and might be candidates for rewriting to make your program execute faster. It can also tell you which functions are being called more or less often than you expected. This may help you spot bugs that had otherwise been unnoticed.

 
gprof works for any language supported by the GNU Compiler Collection (gcc).

http://gcc.gnu.org/install/download.html
 
C Time Library
CPreciseTimer
Timer class is capable to measure time intervals in microseconds under Windows OS.
 
 
 
 
 
p-unit
An open source framework for unit test and performance benchmark, which was initiated by Andrew Zhang, under Apache License v2.0. p-unit supports to run the same tests with single thread or multi-threads, tracks memory and time consumption, and generates the result in the form of plain text, image or pdf file.
 
 
ContiPerf
ContiPerf is a lightweight testing utility that enables the user to easily leverage JUnit 4 test cases as performance tests e.g. for continuous performance testing. It is inspired by JUnit 4's easy test configuration with annotations and by JUnitPerf's idea of wrapping Unit tests for performance testing, but more powerful and easier to use:

  •     Using Java annotations for defining test execution characterisitics and performance requirements
  •     You can mark a test to run a certain number of times or to be repeatedly executed for a certain amount of time
  •     Performance requirements can be maximum, average, medium or any percentile exectution time
  •     Perfect control and readability of performance requirements
  •     You can run tests in two different modes, using them as simple unit tests or performance tests
  •     Easy integration with Eclipse and Maven
  •     Export of execution summary to a CSV file
  •     Small library without external dependencies (only JUnit)
  •     Easy extension with custom statistics evaluation and tracking mechanisms

NTime
Tool usage

Program managers are welcome to specify application performance boundaries at the beginning of the application development process. They may also note which modules and functions of the application need to work and at which time frames. The performance specifications written by them may be helpful for developers when designing the application performance. Further, the NTime tool tests their performance specifications against real, developed applications. The tests performed by NTime tool may be reproduced at different time periods to see whether the application is giving the expected performance. But the main advantage of using this tool is that it enables managers to create configuration test files for developers and testers to give them a starting point on how to optimize the application.
 
Developers use NTime tool to test whether their application works in accordance with the performance specifications designed by managers or by themselves. They need to run the NTime tool when they aren't sure whether their rewritten code still works well. The NTime tool can also be made to remain open on the desktop even when the programmers develop, compile or debug their applications - every application that is built will be reloaded in NTime automatically and shown with the updated tests.

Testers are actively in the performance test stage. They run repeatable tests after every application's alpha release. Testers will review hundreds or thousands of tests and register them to the bug tracing applications.
 

 
 

This website is to help and support SDET and QA engineers in white box testing technologies, tools and resources. Please Contact Us to publish your articles tutorial on http://www.whiteboxtest.com/