`
Hooopo
  • 浏览: 335270 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

benchmark

    博客分类:
  • Ruby
阅读更多
补丁补丁
分享到:
评论
2 楼 Hooopo 2009-08-31  
引用
This report shows the user CPU time, system CPU time, the sum of 
#   the user and system CPU times, and the elapsed real time. The unit 
#   of time is seconds. 
1 楼 Hooopo 2009-08-31  
=begin
#
# benchmark.rb - a performance benchmarking library 
# 
# $Id: benchmark.rb 11708 2007-02-12 23:01:19Z shyouhei $
# 
# Created by Gotoken (gotoken@notwork.org). 
#
# Documentation by Gotoken (original RD), Lyle Johnson (RDoc conversion), and
# Gavin Sinclair (editing). 
#
=end

# == Overview
#
# The Benchmark module provides methods for benchmarking Ruby code, giving
# detailed reports on the time taken for each task.
#

# The Benchmark module provides methods to measure and report the time
# used to execute Ruby code.
#
# * Measure the time to construct the string given by the expression
#   <tt>"a"*1_000_000</tt>:
#
#       require 'benchmark'
#
#       puts Benchmark.measure { "a"*1_000_000 }
# 
#   On my machine (FreeBSD 3.2 on P5, 100MHz) this generates:
# 
#       1.166667   0.050000   1.216667 (  0.571355)
# 
#   This report shows the user CPU time, system CPU time, the sum of
#   the user and system CPU times, and the elapsed real time. The unit
#   of time is seconds.
# 
# * Do some experiments sequentially using the #bm method:
#
#       require 'benchmark'
#
#       n = 50000
#       Benchmark.bm do |x|
#         x.report { for i in 1..n; a = "1"; end }
#         x.report { n.times do   ; a = "1"; end }
#         x.report { 1.upto(n) do ; a = "1"; end }
#       end
# 
#   The result:
#
#              user     system      total        real
#          1.033333   0.016667   1.016667 (  0.492106)
#          1.483333   0.000000   1.483333 (  0.694605)
#          1.516667   0.000000   1.516667 (  0.711077)
#
# * Continuing the previous example, put a label in each report:
#
#       require 'benchmark'
#
#       n = 50000
#       Benchmark.bm(7) do |x|
#         x.report("for:")   { for i in 1..n; a = "1"; end }
#         x.report("times:") { n.times do   ; a = "1"; end }
#         x.report("upto:")  { 1.upto(n) do ; a = "1"; end }
#       end
# 
# The result:
# 
#                     user     system      total        real
#        for:     1.050000   0.000000   1.050000 (  0.503462)
#        times:   1.533333   0.016667   1.550000 (  0.735473)
#        upto:    1.500000   0.016667   1.516667 (  0.711239)
# 
#
# * The times for some benchmarks depend on the order in which items
#   are run.  These differences are due to the cost of memory
#   allocation and garbage collection. To avoid these discrepancies,
#   the #bmbm method is provided.  For example, to compare ways to
#   sort an array of floats:
#
#       require 'benchmark'
#       
#       array = (1..1000000).map { rand }
#       
#       Benchmark.bmbm do |x|
#         x.report("sort!") { array.dup.sort! }
#         x.report("sort")  { array.dup.sort  }
#       end
# 
#   The result:
# 
#        Rehearsal -----------------------------------------
#        sort!  11.928000   0.010000  11.938000 ( 12.756000)
#        sort   13.048000   0.020000  13.068000 ( 13.857000)
#        ------------------------------- total: 25.006000sec
#        
#                    user     system      total        real
#        sort!  12.959000   0.010000  12.969000 ( 13.793000)
#        sort   12.007000   0.000000  12.007000 ( 12.791000)
#
#
# * Report statistics of sequential experiments with unique labels,
#   using the #benchmark method:
#
#       require 'benchmark'
#
#       n = 50000
#       Benchmark.benchmark(" "*7 + CAPTION, 7, FMTSTR, ">total:", ">avg:") do |x|
#         tf = x.report("for:")   { for i in 1..n; a = "1"; end }
#         tt = x.report("times:") { n.times do   ; a = "1"; end }
#         tu = x.report("upto:")  { 1.upto(n) do ; a = "1"; end }
#         [tf+tt+tu, (tf+tt+tu)/3]
#       end
# 
#   The result:
# 
#                     user     system      total        real
#        for:     1.016667   0.016667   1.033333 (  0.485749)
#        times:   1.450000   0.016667   1.466667 (  0.681367)
#        upto:    1.533333   0.000000   1.533333 (  0.722166)
#        >total:  4.000000   0.033333   4.033333 (  1.889282)
#        >avg:    1.333333   0.011111   1.344444 (  0.629761)

相关推荐

    Benchmark.rar_benchmark_benchmark三代_benchmark模型_三代benchmark_主动控制

    总结来说,"Benchmark.rar_benchmark_benchmark三代_benchmark模型_三代benchmark_主动控制"是一个专注于主动控制算法评估的资源包,它提供了一个先进的三代Benchmark模型,用于比较和优化控制策略的性能。...

    benchmarksql数据库测试工具--支持达梦数据库版

    ** BenchmarkSQL数据库测试工具概述 ** BenchmarkSQL是一款广泛使用的开源数据库性能测试工具,它能够对各种类型的数据库系统进行基准测试,以评估其在不同工作负载下的性能。该工具旨在提供一个标准化的方法来比较...

    数据库经典压测工具benchmarksql5.0 双版本 原版 支持达梦版 亲测可用 附带安装文档

    《数据库压力测试利器:BenchmarkSQL 5.0与Oracle及达梦数据库的深度结合》 BenchmarkSQL是一款广泛使用的开源数据库压力测试工具,尤其在评估和比较不同数据库系统的性能时,它的价值尤为突出。该工具以其易用性...

    Fritz Chess Benchmark4.3.2完全汉化版

    《Fritz Chess Benchmark4.3.2:深度解析与应用指南》 Fritz Chess Benchmark4.3.2是一款广受欢迎的国际象棋基准测试软件,它由德国的ChessBase公司开发,旨在衡量计算机处理器在执行复杂棋局模拟时的性能。这款...

    AS_SSD_Benchmark 1.6.4194 绿色版解压即用

    AS SSD Benchmark是一款专业的固态硬盘性能测试工具,由德国InnoDisk公司开发。这款软件的主要目的是为用户提供一个简便的方法来评估他们的SSD(固态硬盘)或HDD(机械硬盘)的读写速度,以及I/O操作性能。1.6.4194...

    AS SSD Benchmark 1.6.4237.30508

    AS SSD Benchmark是一款专业的固态硬盘性能测试工具,由德国InnoDisk公司开发,主要用于评估SSD(固态硬盘)和HDD(机械硬盘)的读写速度、IOPS(每秒输入/输出操作次数)等关键性能指标。该工具1.6.4237.30508版本...

    AS SSD Benchmark汉化版

    AS SSD Benchmark汉化版是由德国开发的一款SSD(固态硬盘)的评测工具。AS SSD Benchmark是现在市面上最为常用的SSD评测软件,可以测试连续读写、4K对齐、4KB随机读写和响应时间的表现,并给出一个综合评分。同时AS ...

    Benchmark functions 优化算法测试函数

    在优化算法领域,benchmark functions是评估和比较不同算法性能的重要工具。这些函数通常是设计成具有各种挑战性特性的,如多模态、非线性、非凸性等,以模拟实际问题中的复杂优化场景。Benchmark functions.zip ...

    CIS_CentOS_Linux_7_Benchmark_v3.1.1.pdf

    CIS_CentOS_Linux_7_Benchmark_v3.1.1.pdf文件是关于如何安全配置CentOS Linux 7系统的指南。这份文档由Center for Internet Security(CIS)发布,旨在为用户提供一套标准化的安全基准测试,以帮助管理员加强系统...

    TSP(Travlling Salesman Problem)的Benchmark

    在这个"**TSP_Benchmark**"压缩包中,包含的是旅行商问题的基准测试数据集,这些数据集通常用于验证和比较不同求解算法的性能。这些数据集来源于国外知名的教育网站,具有国际权威性,确保了数据质量和公正性。 每...

    tracker_benchmark_v1.0.zip

    《OTB数据集工具包评测工具包Tracker Benchmark v1.0详解》 OTB(One-Thing-One-Target Benchmark)是计算机视觉领域中一个广泛使用的单目标跟踪数据集,其目的是评估和比较不同追踪算法的性能。Tracker Benchmark ...

    Benchmark etcd性能测试工具

    Benchmark etcd性能测试工具

    solomon benchmark-100customer.rar

    Solomon Benchmark是运筹学和物流领域中广泛使用的车辆路径问题(Vehicle Routing Problem, VRP)的基准测试集合。VRP旨在寻找最有效的路线,使配送车辆能够从一个中央仓库出发,服务多个客户,最后返回仓库,同时...

    Benchmark Factory.docx

    《Benchmark Factory TPC-C 测试指南详解》 Benchmark Factory是一款强大的性能测试工具,尤其在评估数据库系统的性能方面,它遵循了TPC-C标准,能够模拟真实的业务负载,从而准确地衡量系统性能。本文将深入探讨...

    Fritz Chess Benchmark V4.3图吧专用

    《Fritz Chess Benchmark V4.3:CPU多线程能力的专业测试工具》 在信息技术领域,性能测试是评估硬件性能的重要环节,特别是对于CPU这样的核心组件。Fritz Chess Benchmark V4.3是一款专为图吧社区设计的国际象棋...

    KCF_kcf_matlab_benchmark_

    标题中的“KCF_kcf_matlab_benchmark_”指的是基于MATLAB实现的KCF(Kernelized Correlation Filters)算法的基准测试。KCF是一种高效的目标跟踪算法,它在计算机视觉领域有着广泛的应用,特别是在视频分析和监控中...

    Benchmark Datasets.rar

    benchmark数据集主要有(全部为.mat格式可以直接使用,label已处理好):jaffe50_uni,YaleData,ORLData,feret_data,UmistData,AR_ImData,XM2VTS50,MSRA50,MSRA25,Coil20Data,Coil100Data,USPSdata,MnistData,Mpeg7_...

    PHASE II OF THE ASCE BENCHMARK STUDY ON SHM.rar_BENCHMARK ASCE_a

    PHASE II OF THE ASCE BENCHMARK STUDY ON SHM

    benchmarksql-4.1.1.zip

    《BenchmarkSQL 4.1.1:数据库性能测试利器》 BenchmarkSQL,作为一个开源的数据库基准测试工具,广泛应用于数据库性能评估与优化。版本4.1.1是其一个重要里程碑,为开发者和数据库管理员提供了全面的数据库性能...

    apache benchmark ab.exe

    apache benchmark 独立文件 ab.exe 可以直接使用 Version 2.3。一般用户压力测试用。参数如下 .\ab.exe --help Options are: -n requests Number of requests to perform -c concurrency Number of multiple ...

Global site tag (gtag.js) - Google Analytics