benchmark furniture
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 92
Benchmark 5.8.8
Benchmark is a Perl module with benchmark running times of Perl code. more>>
Benchmark is a Perl module with benchmark running times of Perl code.
SYNOPSIS
use Benchmark qw(:all) ;
timethis ($count, "code");
# Use Perl code in strings...
timethese($count, {
Name1 => ...code1...,
Name2 => ...code2...,
});
# ... or use subroutine references.
timethese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
# cmpthese can be used both ways as well
cmpthese($count, {
Name1 => ...code1...,
Name2 => ...code2...,
});
cmpthese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
# ...or in two stages
$results = timethese($count,
{
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
},
none
);
cmpthese( $results ) ;
$t = timeit($count, ...other code...)
print "$count loops of other code took:",timestr($t),"n";
$t = countit($time, ...other code...)
$count = $t->iters ;
print "$count loops of other code took:",timestr($t),"n";
# enable hires wallclock timing if possible
use Benchmark :hireswallclock;
The Benchmark module encapsulates a number of routines to help you figure out how long it takes to execute some code.
timethis - run a chunk of code several times
timethese - run several chunks of code several times
cmpthese - print results of timethese as a comparison chart
timeit - run a chunk of code and see how long it goes
countit - see how many times a chunk of code runs in a given time
<<lessSYNOPSIS
use Benchmark qw(:all) ;
timethis ($count, "code");
# Use Perl code in strings...
timethese($count, {
Name1 => ...code1...,
Name2 => ...code2...,
});
# ... or use subroutine references.
timethese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
# cmpthese can be used both ways as well
cmpthese($count, {
Name1 => ...code1...,
Name2 => ...code2...,
});
cmpthese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
# ...or in two stages
$results = timethese($count,
{
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
},
none
);
cmpthese( $results ) ;
$t = timeit($count, ...other code...)
print "$count loops of other code took:",timestr($t),"n";
$t = countit($time, ...other code...)
$count = $t->iters ;
print "$count loops of other code took:",timestr($t),"n";
# enable hires wallclock timing if possible
use Benchmark :hireswallclock;
The Benchmark module encapsulates a number of routines to help you figure out how long it takes to execute some code.
timethis - run a chunk of code several times
timethese - run several chunks of code several times
cmpthese - print results of timethese as a comparison chart
timeit - run a chunk of code and see how long it goes
countit - see how many times a chunk of code runs in a given time
Download (12.2MB)
Added: 2007-05-15 License: Perl Artistic License Price:
1240 downloads
Benchmark::Forking 0.99
Benchmark::Forking is a Perl module to run benchmarks in separate processes. more>>
Benchmark::Forking is a Perl module to run benchmarks in separate processes.
SYNOPSIS
use Benchmark::Forking qw( timethis timethese cmpthese );
timethis ($count, "code");
timethese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
cmpthese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
Benchmark::Forking->enabled(0); # Stop using forking feature
...
Benchmark::Forking->enabled(1); # Begin using forking again
The Benchmark::Forking module changes the behavior of the standard Benchmark module, running each piece of code to be timed in a separate forked process. Because each child exits after running its timing loop, the computations it performs cant propogate back to affect subsequent test cases.
This can make benchmark comparisons more accurate, because the separate test cases are mostly isolated from side-effects caused by the others. Benchmark scripts typically dont depend on those side-effects, so in most cases you can simply use or require this module at the top of your existing code without having to change anything else. (A few key exceptions are noted in "BUGS".)
<<lessSYNOPSIS
use Benchmark::Forking qw( timethis timethese cmpthese );
timethis ($count, "code");
timethese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
cmpthese($count, {
Name1 => sub { ...code1... },
Name2 => sub { ...code2... },
});
Benchmark::Forking->enabled(0); # Stop using forking feature
...
Benchmark::Forking->enabled(1); # Begin using forking again
The Benchmark::Forking module changes the behavior of the standard Benchmark module, running each piece of code to be timed in a separate forked process. Because each child exits after running its timing loop, the computations it performs cant propogate back to affect subsequent test cases.
This can make benchmark comparisons more accurate, because the separate test cases are mostly isolated from side-effects caused by the others. Benchmark scripts typically dont depend on those side-effects, so in most cases you can simply use or require this module at the top of your existing code without having to change anything else. (A few key exceptions are noted in "BUGS".)
Download (0.006MB)
Added: 2007-04-30 License: Perl Artistic License Price:
907 downloads
Easy Benchmarking Suite 1.05
Easy Benchmarking Suite is aimed at testing and benchmarking sites. more>>
Easy Benchmarking Suite is aimed at testing and benchmarking sites. Basically, the suite can:
- Issue requests to a URL. A benchmark typically consists of a given number of clients that concurrently issue a number of requests. A request can be any HTTP request (GET, POST, HEAD etc.) with all necessary HTTP header information (session cookies, basic authentication information, etc.);
- Get a quick overview of the results of a benchmark: how many trials succeeded, what are the average times for connecting and processing, what is the standard deviation of these times;
- Prepare a GnuPlot command file so that the obtained results can be plotted.
This document describes the suite. Furthermore, manual pages are provided for the separate parts of the suite: sitebench, sitecollect, and siteplot.
<<less- Issue requests to a URL. A benchmark typically consists of a given number of clients that concurrently issue a number of requests. A request can be any HTTP request (GET, POST, HEAD etc.) with all necessary HTTP header information (session cookies, basic authentication information, etc.);
- Get a quick overview of the results of a benchmark: how many trials succeeded, what are the average times for connecting and processing, what is the standard deviation of these times;
- Prepare a GnuPlot command file so that the obtained results can be plotted.
This document describes the suite. Furthermore, manual pages are provided for the separate parts of the suite: sitebench, sitecollect, and siteplot.
Download (0.14MB)
Added: 2006-03-21 License: Other/Proprietary License Price:
1314 downloads
XML Benchmark 1.3.0
XML Benchmark is a C/C++/Java XML parsers benchmarking tool set. more>>
Objective of this project to provide benchmarking toolset for all available multiplatform C/C++ (and some Java) XML parsers.
Main features:
Currently following parsers are supported:
- LibXML2 + GDome + LibXSLT + XML Security
- Apache Xerces for C + Apache Xalan for C + Apacge XML Security for C
- IBM XML4C + IBM Lotus XSL
- Expat + CenterPoint XML + Sablotron + Arabica
- RXP Parser
- Oracle XDK for C/C++
- Oracle XDK for Java
- QT XML Module
- Sun Crismon + Java WebServices Developer Pack 1.2 + Apache XML Security
Following separate benchmarks provided:
- Non-Validating Parsing with Native,SAX,DOM Engines Benchmark
- Creating + Serializing DOM treee Benchmark
- Schema Validation Benchmark
- XSL Transformation Benchmark
- XML Security (Signature, Encryption) Benchmark
Following XML sources supported:
- Any valid XML file (with optional XSL, XSD companions)
- Auto-generated random simple XML file (variable size)
- Auto-generated random XML OPC-DA message sequence (variable size and length
Enhancements:
- Support Apache XML Security for C++, Version: CVS 08.02.2004
- Experemental support for XML Encryption Benchmark for Apache XML Security for C++ from CVS tree.
- Tested againist latest libraries
<<lessMain features:
Currently following parsers are supported:
- LibXML2 + GDome + LibXSLT + XML Security
- Apache Xerces for C + Apache Xalan for C + Apacge XML Security for C
- IBM XML4C + IBM Lotus XSL
- Expat + CenterPoint XML + Sablotron + Arabica
- RXP Parser
- Oracle XDK for C/C++
- Oracle XDK for Java
- QT XML Module
- Sun Crismon + Java WebServices Developer Pack 1.2 + Apache XML Security
Following separate benchmarks provided:
- Non-Validating Parsing with Native,SAX,DOM Engines Benchmark
- Creating + Serializing DOM treee Benchmark
- Schema Validation Benchmark
- XSL Transformation Benchmark
- XML Security (Signature, Encryption) Benchmark
Following XML sources supported:
- Any valid XML file (with optional XSL, XSD companions)
- Auto-generated random simple XML file (variable size)
- Auto-generated random XML OPC-DA message sequence (variable size and length
Enhancements:
- Support Apache XML Security for C++, Version: CVS 08.02.2004
- Experemental support for XML Encryption Benchmark for Apache XML Security for C++ from CVS tree.
- Tested againist latest libraries
Download (0.88MB)
Added: 2005-04-12 License: GPL (GNU General Public License) Price:
1656 downloads
CompBenchmarks 0.4.0
CompBenchmarks is a benchmarking environment for compilers. more>>
CompBenchmarks project is a benchmarking environment for compilers:
- It provides a package for downloading and easing usage of some well-known C/C++ benchmarks,
- The package allows you to specify compilation options and compilers to use, giving results in a common format,
- This web-site provides a convenient browsing formular to analyse imported benchmarks.
For now, Ive concentrated my efforts on benchmarking of GCC and espacially on its embedded C and C++ compilers on the Linux/x86 platform, yet support for others languages, compilers or platforms can be added (Cygwin is supported).
Enhancements:
- 25 more benchmarks are supported (C++ language).
- There is an improved build mechanism, and a useless (nonexistent) script call has been removed.
- The Web site has reached 10,000 published results.
<<less- It provides a package for downloading and easing usage of some well-known C/C++ benchmarks,
- The package allows you to specify compilation options and compilers to use, giving results in a common format,
- This web-site provides a convenient browsing formular to analyse imported benchmarks.
For now, Ive concentrated my efforts on benchmarking of GCC and espacially on its embedded C and C++ compilers on the Linux/x86 platform, yet support for others languages, compilers or platforms can be added (Cygwin is supported).
Enhancements:
- 25 more benchmarks are supported (C++ language).
- There is an improved build mechanism, and a useless (nonexistent) script call has been removed.
- The Web site has reached 10,000 published results.
Download (0.065MB)
Added: 2006-12-23 License: GPL (GNU General Public License) Price:
1036 downloads
Cache::Benchmark 0.011
Cache::Benchmark is a Perl module that tests the quality and speed of a cache module to compare cachemodules and algorithms. more>>
Cache::Benchmark is a Perl module that tests the quality and speed of a cache module to compare cachemodules and algorithms.
SYNOPSIS
use Cache::Benchmark();
use Cache::MemoryCache();
use Cache::SizeAwareMemoryCache();
my $cache_1 = new Cache::MemoryCache({
namespace => my,
default_expires_in => 1,
});
my $cache_2 = new Cache::SizeAwareMemoryCache({
namespace => my,
default_expires_in => 1,
max_size => 400,
});
my $test = new Cache::Benchmark();
$test->init( access_counter => 10_000 );
$test->run($cache_1);
print $test->get_printable_result();
$test->run($cache_2);
print $test->get_printable_result();
<<lessSYNOPSIS
use Cache::Benchmark();
use Cache::MemoryCache();
use Cache::SizeAwareMemoryCache();
my $cache_1 = new Cache::MemoryCache({
namespace => my,
default_expires_in => 1,
});
my $cache_2 = new Cache::SizeAwareMemoryCache({
namespace => my,
default_expires_in => 1,
max_size => 400,
});
my $test = new Cache::Benchmark();
$test->init( access_counter => 10_000 );
$test->run($cache_1);
print $test->get_printable_result();
$test->run($cache_2);
print $test->get_printable_result();
Download (0.008MB)
Added: 2007-05-28 License: Perl Artistic License Price:
881 downloads
Open CORBA Benchmarking Suite 1.17
Open CORBA Benchmarking Suite is a benchmarking suite for CORBA brokers. more>>
The Open CORBA Benchmarking Suite measures several basic performance aspects of various CORBA brokers.
The suite produces an XML output that can be submitted to a searchable database of broker performance data and browsed in a graphical form. The suite is portable to a number of platforms and brokers.
For C++ brokers
Enter the "C++" directory. Then enter the subdirectory of that directory that corresponds to the broker of your choice. Check the README file there for further instructions, usually you will use "make" to compile the benchmark.
For Java brokers
Enter the "Java" and then the "build" directory. Then enter the subdirectory of that directory that corresponds to the broker of your choice. Check the README file there for further instructions, usually you will use "ant" to compile the benchmark "ant run" to execute the benchmark.
Understanding results
The results do not get printed until the benchmark is finished, which can take from 2 to 4 hours depending on the platform. The best way to view the results is to capture them to a file and view them graphically at http://nenya.ms.mff.cuni.cz/~bench.
Enhancements:
- Support for system information on Linux 2.6 kernels.
- Slight extensions to the documentation.
- Support for some recent brokers on Solaris (VisiBroker 6.0, omniORB 4.0.5, JacORB 2.2.1).
- Support for some recent brokers on Linux (omniORB 4.0.5, JacORB 2.2.1, JDK 1.5.0, TAO 1.4.3).
<<lessThe suite produces an XML output that can be submitted to a searchable database of broker performance data and browsed in a graphical form. The suite is portable to a number of platforms and brokers.
For C++ brokers
Enter the "C++" directory. Then enter the subdirectory of that directory that corresponds to the broker of your choice. Check the README file there for further instructions, usually you will use "make" to compile the benchmark.
For Java brokers
Enter the "Java" and then the "build" directory. Then enter the subdirectory of that directory that corresponds to the broker of your choice. Check the README file there for further instructions, usually you will use "ant" to compile the benchmark "ant run" to execute the benchmark.
Understanding results
The results do not get printed until the benchmark is finished, which can take from 2 to 4 hours depending on the platform. The best way to view the results is to capture them to a file and view them graphically at http://nenya.ms.mff.cuni.cz/~bench.
Enhancements:
- Support for system information on Linux 2.6 kernels.
- Slight extensions to the documentation.
- Support for some recent brokers on Solaris (VisiBroker 6.0, omniORB 4.0.5, JacORB 2.2.1).
- Support for some recent brokers on Linux (omniORB 4.0.5, JacORB 2.2.1, JDK 1.5.0, TAO 1.4.3).
Download (0.14MB)
Added: 2005-04-12 License: Freely Distributable Price:
1656 downloads
Data::BenchmarkResults 0.01
Data::BenchmarkResults is a Perl extension for averaging and comparing multiple benchmark runs. more>>
Data::BenchmarkResults is a Perl extension for averaging and comparing multiple benchmark runs.
SYNOPSIS
use Data::BenchmarkResults;
$conditionA_results = new Data::BenchmarkResults;
$conditionB_results = new Data::BenchmarkResults;
#Load test result runs for the first condition
$conditionA_results->add_result_set("test1","run1",@data1);
$conditionA_results->add_result_set("test2","run1",@data2);
$conditionA_results->add_result_set("test1","run2",@data3);
$conditionA_results->add_result_set("test2","run2",@data4);
#Load test result runs for the second condition
$conditionB_results->add_result_set("test1","run1",@data5);
$conditionB_results->add_result_set("test2","run2",@data6);
$conditionB_results->add_result_set("test1","run1",@data7);
$conditionB_results->add_result_set("test2","run2",@data8);
#Average (mean average) the results of all the the runs of test1
# w/o tossing the highest and lowest values (replace the 0 with 1to
# toss the highest and lowest values
my $computed = $conditionA_results->process_result_set("test1","mean",0);
my $computed2 = $conditionB_results->process_result_set("test1","mean",0);
#OR process all of the tests at once (tossing the highest and lowest value) :
$conditionA_results->process_all_result_sets("mean",1);
$conditionB_results->process_all_result_sets("mean",1);
#Print out all of the processed test results
print "Condition A results.... nn"
$conditionA_results->print_calculated_sets;
print "Condition B results.... nn"
$conditionB_results->print_calculated_sets;
#Compare results of test1 of condition B against those with condition A
# as a percentage change from A to B
my $compared = $conditionB_results->compare_result_set($conditionA_results,"test1");
#OR compare all the processed test results from one condition to those of another
my $total_comparison = $conditionB_results->compare_all_result_sets($conditionA_results);
<<lessSYNOPSIS
use Data::BenchmarkResults;
$conditionA_results = new Data::BenchmarkResults;
$conditionB_results = new Data::BenchmarkResults;
#Load test result runs for the first condition
$conditionA_results->add_result_set("test1","run1",@data1);
$conditionA_results->add_result_set("test2","run1",@data2);
$conditionA_results->add_result_set("test1","run2",@data3);
$conditionA_results->add_result_set("test2","run2",@data4);
#Load test result runs for the second condition
$conditionB_results->add_result_set("test1","run1",@data5);
$conditionB_results->add_result_set("test2","run2",@data6);
$conditionB_results->add_result_set("test1","run1",@data7);
$conditionB_results->add_result_set("test2","run2",@data8);
#Average (mean average) the results of all the the runs of test1
# w/o tossing the highest and lowest values (replace the 0 with 1to
# toss the highest and lowest values
my $computed = $conditionA_results->process_result_set("test1","mean",0);
my $computed2 = $conditionB_results->process_result_set("test1","mean",0);
#OR process all of the tests at once (tossing the highest and lowest value) :
$conditionA_results->process_all_result_sets("mean",1);
$conditionB_results->process_all_result_sets("mean",1);
#Print out all of the processed test results
print "Condition A results.... nn"
$conditionA_results->print_calculated_sets;
print "Condition B results.... nn"
$conditionB_results->print_calculated_sets;
#Compare results of test1 of condition B against those with condition A
# as a percentage change from A to B
my $compared = $conditionB_results->compare_result_set($conditionA_results,"test1");
#OR compare all the processed test results from one condition to those of another
my $total_comparison = $conditionB_results->compare_all_result_sets($conditionA_results);
Download (0.009MB)
Added: 2007-08-16 License: Perl Artistic License Price:
799 downloads
Bioinformatics Benchmark System 3
Bioinformatics Benchmark System is a bioinformatics benchmark system for platform performance measurement. more>>
The Bioinformatics Benchmark System is an attempt to build a reasonable testing framework, tests, and data, to enable end users and vendors to probe the performance of their systems.
What we are trying to do is to create a framework for testing, and a core set of tests that all may download and use to probe specific elements of systems performance.
Moreover, the source to these tests are available under GPL, and are hosted on Bioinformatics.org and Scalable Informatics LLC The idea is to enable end users, consumers, systems developers, and others to easily build and use meaningful tests for measurement and tuning reasons.
Joe Landman from Scalable Informatics LLC conceived the idea and wrote the original codes. We are looking for additional benchmark code suggestions, tests, data sets, etc.
Current baseline tests are several NCBI BLAST runs, several HMMer runs, and a variety of others. We plan to include ClustalW, X!Tandem, various chemistry, dynamics, and related tests, as well as several others.
Tests such as LINPACK or HPL simply do not provide meaningful performance indicators or predictive models for high performance informatics. Unfortunately, nor do a number of more recent and focused tests.
This is a problem as LINPACK and HPL specifically test the performance on various matrix operations, where you have effectively regular memory access patterns, and specific mathematical operations.
These codes are most useful for comparison to codes with heavy floating point operations, and interleaved memory traffic. These codes were not designed for comprehensive systems benchmarking, where disk I/O, memory latency, and other factors all contribute to the performance issues.
The best tests are the ones that are most similar to the codes you will run on the machine. The tests themselves should be reasonable approximations to a real execution of your code, using real data. You may need to pare it back in order to get realistic run times.
You should have a reasonable subset of data sizes. A single test does not tell you how your system scales, and one of the reasons for the existance of this test is specifically to allow you to test the performance while you increase various aspects of the workload.
You rarely get a quiescent system in a cluster, so we would recommend that you try to run in as realistic an operating environment as possible. A baseline in a quiescent system is fine, but it may set your expectations unreasonably.
top
<<lessWhat we are trying to do is to create a framework for testing, and a core set of tests that all may download and use to probe specific elements of systems performance.
Moreover, the source to these tests are available under GPL, and are hosted on Bioinformatics.org and Scalable Informatics LLC The idea is to enable end users, consumers, systems developers, and others to easily build and use meaningful tests for measurement and tuning reasons.
Joe Landman from Scalable Informatics LLC conceived the idea and wrote the original codes. We are looking for additional benchmark code suggestions, tests, data sets, etc.
Current baseline tests are several NCBI BLAST runs, several HMMer runs, and a variety of others. We plan to include ClustalW, X!Tandem, various chemistry, dynamics, and related tests, as well as several others.
Tests such as LINPACK or HPL simply do not provide meaningful performance indicators or predictive models for high performance informatics. Unfortunately, nor do a number of more recent and focused tests.
This is a problem as LINPACK and HPL specifically test the performance on various matrix operations, where you have effectively regular memory access patterns, and specific mathematical operations.
These codes are most useful for comparison to codes with heavy floating point operations, and interleaved memory traffic. These codes were not designed for comprehensive systems benchmarking, where disk I/O, memory latency, and other factors all contribute to the performance issues.
The best tests are the ones that are most similar to the codes you will run on the machine. The tests themselves should be reasonable approximations to a real execution of your code, using real data. You may need to pare it back in order to get realistic run times.
You should have a reasonable subset of data sizes. A single test does not tell you how your system scales, and one of the reasons for the existance of this test is specifically to allow you to test the performance while you increase various aspects of the workload.
You rarely get a quiescent system in a cluster, so we would recommend that you try to run in as realistic an operating environment as possible. A baseline in a quiescent system is fine, but it may set your expectations unreasonably.
top
Download (5.0MB)
Added: 2005-08-12 License: GPL (GNU General Public License) Price:
1533 downloads
Geekbench Preview 2
Geekbench is a cross-platform benchmark for Mac OS X, Windows, and Linux. more>>
Geekbench is a cross-platform benchmark for Linux, Mac OS X and Windows. While Geekbench is still under heavy development, we think it’s useful enough that other people might be interested in running it.
Geekbench tries to measure the performance an average application can expect from the computer being benchmarked. As such, all of the benchmarks in Geekbench are written in platform-neutral C and C++, and have no platform-specific optimizations, and Geekbench is compiled with what we consider the de-facto standard compiler for each platform, with the compiler switches suggested by the compiler for release code.
<<lessGeekbench tries to measure the performance an average application can expect from the computer being benchmarked. As such, all of the benchmarks in Geekbench are written in platform-neutral C and C++, and have no platform-specific optimizations, and Geekbench is compiled with what we consider the de-facto standard compiler for each platform, with the compiler switches suggested by the compiler for release code.
Download (0.070MB)
Added: 2006-03-02 License: Freeware Price:
1332 downloads
UMark beta3
UMark is a GNOME port of the popular UT200x benchmark utility. more>>
UMark project is a free graphical user interface that allows gamers and hardware reviewers to easily configure and run benchmarks on Unreal Tournament 200x (UT2004 and UT2003, both demo and retail versions).
Benchmarking with UMark is very flexible, as it can run totally customizable benchmarks. At the same time, it also offers standard benchmarking which imitates the official UT200x benchmark batch file tests.
UMark supports three types of UT200x benchmarking: "botmatch","flyby", and "timedemo" benchmarks. Each benchmark type has its own upsides and downsides.
Timedemo
Timedemos are pre-recorded matches that can be played back as fast as your computer can render it. While timedemos have the consistency of flybys and the gameplay accuracy above that of botmatches, there are no official demo recordings, therefore they are non-standard.
Flyby
Although flybys are standard and more consistent by always following the same paths, not all maps support them and they dont include the abundance of animated sprites or process the game rules that you would find in playing a typical match of UT200x.
Botmatch
Botmatch benchmarks include the things that make up an actual UT200x match, and have close framerates to a "real" game of UT200x, yet they function primarily on AI, which may cause the benchmarks themselves to be inconsistent when using different options.
UMark specializes in botmatch bencharking because botmatches are widely supported and have the most response to UMarks flexible configurations.
UMark also provides an engine for gathering results for saving and loading at another time, or to submit into an online score database (UMark Online) where users can search and compare results with other users based on a number of factors.
Results are displayed in numbers and bar graphs, along with hardware information. UMark Online members may post links to their scores so they can be viewed publicly by their peers.
Enhancements:
- Latest source snapshot, with features unseen in version 1.0 Beta 3, including built in HTML graph results browser (embedding Mozilla if installed).
<<lessBenchmarking with UMark is very flexible, as it can run totally customizable benchmarks. At the same time, it also offers standard benchmarking which imitates the official UT200x benchmark batch file tests.
UMark supports three types of UT200x benchmarking: "botmatch","flyby", and "timedemo" benchmarks. Each benchmark type has its own upsides and downsides.
Timedemo
Timedemos are pre-recorded matches that can be played back as fast as your computer can render it. While timedemos have the consistency of flybys and the gameplay accuracy above that of botmatches, there are no official demo recordings, therefore they are non-standard.
Flyby
Although flybys are standard and more consistent by always following the same paths, not all maps support them and they dont include the abundance of animated sprites or process the game rules that you would find in playing a typical match of UT200x.
Botmatch
Botmatch benchmarks include the things that make up an actual UT200x match, and have close framerates to a "real" game of UT200x, yet they function primarily on AI, which may cause the benchmarks themselves to be inconsistent when using different options.
UMark specializes in botmatch bencharking because botmatches are widely supported and have the most response to UMarks flexible configurations.
UMark also provides an engine for gathering results for saving and loading at another time, or to submit into an online score database (UMark Online) where users can search and compare results with other users based on a number of factors.
Results are displayed in numbers and bar graphs, along with hardware information. UMark Online members may post links to their scores so they can be viewed publicly by their peers.
Enhancements:
- Latest source snapshot, with features unseen in version 1.0 Beta 3, including built in HTML graph results browser (embedding Mozilla if installed).
Download (0.22MB)
Added: 2006-01-06 License: GPL (GNU General Public License) Price:
1951 downloads
nbench 2.2.2
nbench is a byte CPU benchmark. more>>
The benchmark program takes less than 10 minutes to run (on most machines) and compares the system it is run on to two benchmark systems (a Dell Pentium 90 with 256 KB cache running MSDOS and an AMD K6/233 with 512 KB cache running Linux).
The archive contains the complete source, documentation, and a binary (Linux elf). The source has been successfully compiled on various operating systems, including SunOS, DEC Unix 4.0, DEC OSF1, HP-UX, DEC Ultrix, MS-DOS, and of course Linux.
This release is based on the Unix port of beta release 2 of BYTE Magazines BYTEmark benchmark program (previously known as BYTEs Native Mode Benchmarks). The port to Linux/Unix was done by Uwe F. Mayer.
Additional changes to the code were made to make the code work with egcs compiler and to make the software packagable. This is a CPU benchmark providing indexes for integer, floating, and memory performance. It is single-threaded and is not designed to measure the performance gain on multi-processor machines.
Running a "make" will create the binary if all goes well. It is called "nbench" and performs a suite of 10 tests and compares the results to a Dell Pentium 90 with 16 MB RAM and 256 KB L2 cache running MSDOS and compiling with the Watcom 10.0 C/C++ compiler.
If you define -DLINUX during compilation (the default) then you also get a comparison to an AMD K6/233 with 32 MB RAM and 512 KB L2-cache running Linux 2.0.32 and using a binary which was compiled with GNU gcc version 2.7.2.3 and GNU libc-5.4.38.
The algorithms were not changed from the source which was obtained from the BYTE web site at http://www.byte.com/bmark/bmark.htm on December 14, 1996. However, the source was modified to better work with 64-bit machines (in particular the random number generator was modified to always work with 32 bit, no matter what kind of hardware you run it on).
Furthermore, for some of the algorithms additional resettings of the data was added to increase the consistency across different hardware. Some extra debugging code was added, which has no impact on normal runs.
In case there is uneven system load due to other processes while this benchmark suite executes, it might take longer to run than on an unloaded system.
This is because the benchmark does some statistical analysis to make sure that the reported results are statistically significant, and an increased variation in individual runs requires more runs to achieve the required statistical confidence.
This is a single-threaded benchmark and is not designed to measure the performance gain on multi-processor machines.
<<lessThe archive contains the complete source, documentation, and a binary (Linux elf). The source has been successfully compiled on various operating systems, including SunOS, DEC Unix 4.0, DEC OSF1, HP-UX, DEC Ultrix, MS-DOS, and of course Linux.
This release is based on the Unix port of beta release 2 of BYTE Magazines BYTEmark benchmark program (previously known as BYTEs Native Mode Benchmarks). The port to Linux/Unix was done by Uwe F. Mayer.
Additional changes to the code were made to make the code work with egcs compiler and to make the software packagable. This is a CPU benchmark providing indexes for integer, floating, and memory performance. It is single-threaded and is not designed to measure the performance gain on multi-processor machines.
Running a "make" will create the binary if all goes well. It is called "nbench" and performs a suite of 10 tests and compares the results to a Dell Pentium 90 with 16 MB RAM and 256 KB L2 cache running MSDOS and compiling with the Watcom 10.0 C/C++ compiler.
If you define -DLINUX during compilation (the default) then you also get a comparison to an AMD K6/233 with 32 MB RAM and 512 KB L2-cache running Linux 2.0.32 and using a binary which was compiled with GNU gcc version 2.7.2.3 and GNU libc-5.4.38.
The algorithms were not changed from the source which was obtained from the BYTE web site at http://www.byte.com/bmark/bmark.htm on December 14, 1996. However, the source was modified to better work with 64-bit machines (in particular the random number generator was modified to always work with 32 bit, no matter what kind of hardware you run it on).
Furthermore, for some of the algorithms additional resettings of the data was added to increase the consistency across different hardware. Some extra debugging code was added, which has no impact on normal runs.
In case there is uneven system load due to other processes while this benchmark suite executes, it might take longer to run than on an unloaded system.
This is because the benchmark does some statistical analysis to make sure that the reported results are statistically significant, and an increased variation in individual runs requires more runs to achieve the required statistical confidence.
This is a single-threaded benchmark and is not designed to measure the performance gain on multi-processor machines.
Download (0.10MB)
Added: 2005-04-12 License: Freely Distributable Price:
927 downloads
Apache Hello World Benchmarks 1.04
Apache Hello World Benchmarks is a tool that generates benchmarks of Apache Web frameworks. more>>
Apache Hello World Benchmarks is a benchmarking tool that seeks to give a sense of Web application execution speed on various software platforms running under the Apache Web server.
Benchmarks can vary greatly from system to system, so this tool allows one to get numbers on ones own platform. Applications tested include mod_perl, mod_php, Tomcat, and Apache::ASP, with over 62 benchmarks in all.
Benchmark Descriptions:
Hello World 2000 ( 2000 )
The 2000 benchmark tries to emulate a heavy web page template. It is typically 3K+ in program length that results in output of over 20K. While this does not properly reflect any web applications speed of back end business logic execution, it does show a template heavy request with some application logic and loops, some HTTP parameter passing, and much variable interpolation in the output stream.
Hello World ( hello )
The Hello World benchmark merely prints "Hello World" and as such is a good test for the fastest a web page could ever run under the given web application environment. For historical reasons, the benchmarks are written to print "Hello" and then add to the output World as a raw string.
HelloDB ( hellodb )
The HelloDB benchmark merely queries the database for the string "Hello World", and as such represents the fastest a web application can process a request when talking to a database. This is a new benchmark with only MySQL supported for now, but more environments and databases will be added over time.
XSLT Big ( xsltbig )
This benchmark hits an XSLT rendering engine hard with 18K+ XML being transformed with a 1K+ XSL stylesheet for over 20K output. Though XSLT is generally slow, many applications will use XSLT caching to speed up response times. This benchmark should emulate well a real world XSLT usage scenario, with perhaps the XSL itself being too trivial.
Hello XSLT ( xslt )
Like the Hello World benchmark, the XSLT version just outputs "Hello World", or the closest we can get when doing XSLT, so it too demonstrates the fastest an application can render a page with XSLT. Benchmarks should be similarly configured between xsltbig and xslt, so a slow caching layer that benefits the former might slow down this benchmark.
<<lessBenchmarks can vary greatly from system to system, so this tool allows one to get numbers on ones own platform. Applications tested include mod_perl, mod_php, Tomcat, and Apache::ASP, with over 62 benchmarks in all.
Benchmark Descriptions:
Hello World 2000 ( 2000 )
The 2000 benchmark tries to emulate a heavy web page template. It is typically 3K+ in program length that results in output of over 20K. While this does not properly reflect any web applications speed of back end business logic execution, it does show a template heavy request with some application logic and loops, some HTTP parameter passing, and much variable interpolation in the output stream.
Hello World ( hello )
The Hello World benchmark merely prints "Hello World" and as such is a good test for the fastest a web page could ever run under the given web application environment. For historical reasons, the benchmarks are written to print "Hello" and then add to the output World as a raw string.
HelloDB ( hellodb )
The HelloDB benchmark merely queries the database for the string "Hello World", and as such represents the fastest a web application can process a request when talking to a database. This is a new benchmark with only MySQL supported for now, but more environments and databases will be added over time.
XSLT Big ( xsltbig )
This benchmark hits an XSLT rendering engine hard with 18K+ XML being transformed with a 1K+ XSL stylesheet for over 20K output. Though XSLT is generally slow, many applications will use XSLT caching to speed up response times. This benchmark should emulate well a real world XSLT usage scenario, with perhaps the XSL itself being too trivial.
Hello XSLT ( xslt )
Like the Hello World benchmark, the XSLT version just outputs "Hello World", or the closest we can get when doing XSLT, so it too demonstrates the fastest an application can render a page with XSLT. Benchmarks should be similarly configured between xsltbig and xslt, so a slow caching layer that benefits the former might slow down this benchmark.
Download (0.037MB)
Added: 2005-04-12 License: Perl Artistic License Price:
1657 downloads
Array::Unique 0.07
Array::Unique is a tie-able array that allows only unique values. more>>
Array::Unique is a tie-able array that allows only unique values.
SYNOPSIS
use Array::Unique;
tie @a, Array::Unique;
Now use @a as a regular array.
This package lets you create an array which will allow only one occurrence of any value.
In other words no matter how many times you put in 42 it will keep only the first occurrence and the rest will be dropped.
You use the module via tie and once you tied your array to this module it will behave correctly.
Uniqueness is checked with the eq operator so among other things it is case sensitive.
As a side effect the module does not allow undef as a value in the array.
EXAMPLES
use Array::Unique;
tie @a, Array::Unique;
@a = qw(a b c a d e f);
push @a, qw(x b z);
print "@an"; # a b c d e f x z
When you are collecting a list of items and you want to make sure there is only one occurrence of each item, you have several option:
1) using an array and extracting the unique elements later. You might use a regular array to hold this unique set of values and either remove duplicates on each update by that keeping the array always unique or remove duplicates just before you want to use the uniqueness feature of the array. In either case you might run a function you call @a = unique_value(@a);
The problem with this approach is that you have to implement the unique_value function (see later) AND you have to make sure you dont forget to call it. I would say dont rely on remembering this.
There is good discussion about it in the 1st edition of the Perl Cookbook of OReilly. I have copied the solutions here, you can see further discussion in the book.
----------------------------------------
Extracting Unique Elements from a List (Section 4.6 in the Perl Cookbook 1st ed.)
# Straightforward
%seen = ();
@uniq = ();
foreach $item (@list) [
unless ($seen{$item}) {
# if we get here we have not seen it before
$seen{$item} = 1;
push (@uniq, $item);
}
}
# Faster
%seen = ();
foreach $item (@list) {
push(@uniq, $item) unless $seen{$item}++;
}
# Faster but different
%seen;
foreach $item (@list) {
$seen{$item}++;
}
@uniq = keys %seen;
# Faster and even more different
%seen;
@uniq = grep {! $seen{$_}++} @list;
----------------------------------------
2) using a hash
Some people use the keys of a hash to keep the items and
put an arbitrary value as the values of the hash:
To build such a list:
%unique = map { $_ => 1 } qw( one two one two three four! );
To print it:
print join ", ", sort keys %unique;
To add values to it:
$unique{$_}=1 foreach qw( one after the nine oh nine );
To remove values:
delete @unique{ qw(oh nine) };
To check if a value is there:
$unique{ $value }; # which is why I like to use "1" as my value
(thanks to Gaal Yahas for the above examples)
There are three drawbacks I see:
1) You type more.
2) Your reader might not understand at first why did you use hash and what will be the values.
3) You lose the order.
Usually non of them is critical but when I saw this the 10th time in a code I had to understand with 0 documentation I got frustrated.
3) using Array::Unique
So I decided to write this module because I got frustrated by my lack of understanding whats going on in that code I mentioned. In addition I thought it might be interesting to write this and then benchmark it. Additionally it is nice to have your name displayed in bright lights all over CPAN ... or at least in a module.
Array::Unique lets you tie an aray to hmmm, itself (?) and makes sure the values of the array are always unique.
Since writing this I am not sure if I really recommend its usage. I would say stick with the hash version and document that the variable is aggregating a unique list of values.
4) Using real SET
There are modules on CPAN that let you create and maintain SETs. I have not checked any of those but I guess they just as much of an overkill for this functionality as Unique::Array.
<<lessSYNOPSIS
use Array::Unique;
tie @a, Array::Unique;
Now use @a as a regular array.
This package lets you create an array which will allow only one occurrence of any value.
In other words no matter how many times you put in 42 it will keep only the first occurrence and the rest will be dropped.
You use the module via tie and once you tied your array to this module it will behave correctly.
Uniqueness is checked with the eq operator so among other things it is case sensitive.
As a side effect the module does not allow undef as a value in the array.
EXAMPLES
use Array::Unique;
tie @a, Array::Unique;
@a = qw(a b c a d e f);
push @a, qw(x b z);
print "@an"; # a b c d e f x z
When you are collecting a list of items and you want to make sure there is only one occurrence of each item, you have several option:
1) using an array and extracting the unique elements later. You might use a regular array to hold this unique set of values and either remove duplicates on each update by that keeping the array always unique or remove duplicates just before you want to use the uniqueness feature of the array. In either case you might run a function you call @a = unique_value(@a);
The problem with this approach is that you have to implement the unique_value function (see later) AND you have to make sure you dont forget to call it. I would say dont rely on remembering this.
There is good discussion about it in the 1st edition of the Perl Cookbook of OReilly. I have copied the solutions here, you can see further discussion in the book.
----------------------------------------
Extracting Unique Elements from a List (Section 4.6 in the Perl Cookbook 1st ed.)
# Straightforward
%seen = ();
@uniq = ();
foreach $item (@list) [
unless ($seen{$item}) {
# if we get here we have not seen it before
$seen{$item} = 1;
push (@uniq, $item);
}
}
# Faster
%seen = ();
foreach $item (@list) {
push(@uniq, $item) unless $seen{$item}++;
}
# Faster but different
%seen;
foreach $item (@list) {
$seen{$item}++;
}
@uniq = keys %seen;
# Faster and even more different
%seen;
@uniq = grep {! $seen{$_}++} @list;
----------------------------------------
2) using a hash
Some people use the keys of a hash to keep the items and
put an arbitrary value as the values of the hash:
To build such a list:
%unique = map { $_ => 1 } qw( one two one two three four! );
To print it:
print join ", ", sort keys %unique;
To add values to it:
$unique{$_}=1 foreach qw( one after the nine oh nine );
To remove values:
delete @unique{ qw(oh nine) };
To check if a value is there:
$unique{ $value }; # which is why I like to use "1" as my value
(thanks to Gaal Yahas for the above examples)
There are three drawbacks I see:
1) You type more.
2) Your reader might not understand at first why did you use hash and what will be the values.
3) You lose the order.
Usually non of them is critical but when I saw this the 10th time in a code I had to understand with 0 documentation I got frustrated.
3) using Array::Unique
So I decided to write this module because I got frustrated by my lack of understanding whats going on in that code I mentioned. In addition I thought it might be interesting to write this and then benchmark it. Additionally it is nice to have your name displayed in bright lights all over CPAN ... or at least in a module.
Array::Unique lets you tie an aray to hmmm, itself (?) and makes sure the values of the array are always unique.
Since writing this I am not sure if I really recommend its usage. I would say stick with the hash version and document that the variable is aggregating a unique list of values.
4) Using real SET
There are modules on CPAN that let you create and maintain SETs. I have not checked any of those but I guess they just as much of an overkill for this functionality as Unique::Array.
Download (0.008MB)
Added: 2007-07-17 License: Perl Artistic License Price:
830 downloads
mubench 0.2.2
mubench is an in-depth, low-level benchmark for x86 processors. more>>
mubench is an in-depth, low-level benchmark for x86 processors. Its primary goal is to provide useful information for people who optimize assembly code and for people who write compilers. mubench project measures latency and throughput for each individual instruction (sometimes several forms of the same instruction), as well as the throughput of arbitrary instruction mixes. The results produced by mubench are typically an order of magnitude more detailed than those found in AMD or Intel manuals.
mubench results for a variety of processors are available. If you find this information useful, please run mubench on your processor and upload the results.
mubench fully supports all SIMD instruction sets for the x86, including SSSE3, SSE3, SSE2, SSE, MMX, MMX Ext, 3DNow! and 3DNow! Ext. Support for non-SIMD instructions is partial: most data move, binary arithmetic, logical, shift/rotate and bit/byte instructions are supported, but other instructions, particularly branch and function call instructions or instructions manipulating the stack, are not supported. Floating-point instructions for the x87 are not supported. mubench only uses register-to-register (or immediate) forms of the instructions; memory operands are not supported. These limitations will be gradually removed in later releases.
Running:
perl mubench.pl [options]
Options:
--(no-)accurate runs tests several times (default on)
--mhz=2500 processor speed in MHz (normally autodetected from /proc/cpuinfo, set here if that
is wrong, for example if you have SpeedStep enabled)
--(no-)64bit benchmark 64-bit (amd64, emt64, x86-64) instructions (default autodetected)
--(no-)32bit benchmark 32-bit instructions
--(no-)pairs benchmark instruction mixes (default on, very slow; use --no-pairs for a very fast benchmark
that runs in minutes)
--include=add,sub benchmark only instructions matching the given list of patterns (regular expressions ok)
--output=xml|csv|text select output format
--outfile=file.xml output file to save results to (default mubench-results- .xml if xml,
standard output otherwise)
Enhancements:
- the fast form of the benchmark is now default.
- gcc 4.x now works
- a number of non-simd instructions added, support for non-simd is much closer to complete now
<<lessmubench results for a variety of processors are available. If you find this information useful, please run mubench on your processor and upload the results.
mubench fully supports all SIMD instruction sets for the x86, including SSSE3, SSE3, SSE2, SSE, MMX, MMX Ext, 3DNow! and 3DNow! Ext. Support for non-SIMD instructions is partial: most data move, binary arithmetic, logical, shift/rotate and bit/byte instructions are supported, but other instructions, particularly branch and function call instructions or instructions manipulating the stack, are not supported. Floating-point instructions for the x87 are not supported. mubench only uses register-to-register (or immediate) forms of the instructions; memory operands are not supported. These limitations will be gradually removed in later releases.
Running:
perl mubench.pl [options]
Options:
--(no-)accurate runs tests several times (default on)
--mhz=2500 processor speed in MHz (normally autodetected from /proc/cpuinfo, set here if that
is wrong, for example if you have SpeedStep enabled)
--(no-)64bit benchmark 64-bit (amd64, emt64, x86-64) instructions (default autodetected)
--(no-)32bit benchmark 32-bit instructions
--(no-)pairs benchmark instruction mixes (default on, very slow; use --no-pairs for a very fast benchmark
that runs in minutes)
--include=add,sub benchmark only instructions matching the given list of patterns (regular expressions ok)
--output=xml|csv|text select output format
--outfile=file.xml output file to save results to (default mubench-results- .xml if xml,
standard output otherwise)
Enhancements:
- the fast form of the benchmark is now default.
- gcc 4.x now works
- a number of non-simd instructions added, support for non-simd is much closer to complete now
Download (0.079MB)
Added: 2006-12-02 License: GPL (GNU General Public License) Price:
1058 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above benchmark furniture search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed