Commit graph

54 commits

Author SHA1 Message Date
Hiroshi SHIBATA
3406e8aad9 [ruby/benchmark] Bump up v0.4.0
a5d77ceae0
2024-11-08 02:45:51 +00:00
Kaíque Kandy Koga
9523f53465
[ruby/benchmark] Adjust ljust Benchmark#bm with labels was not using the highest length among the labels to adjust the correct ljust. Instead of printing the result during the report generation, now it is waiting to print the result once it is generated.
Benchmark.bm { |x|
  x.item("aaaa") { 1 }
  x.item("aaaaaaaa") { 0 }
}

After

              user     system      total        real
aaaa      0.000005   0.000002   0.000007 (  0.000003)
aaaaaaaa  0.000001   0.000001   0.000002 (  0.000002)

Before

       user     system      total        real
aaaa  0.000005   0.000001   0.000006 (  0.000003)
aaaaaaaa  0.000002   0.000001   0.000003 (  0.000003)

3e74533ead
2024-11-08 11:32:30 +09:00
Nithin Bekal
d7e5133d6d [ruby/benchmark] Add example for Benchmark.realtime
0f278be6c1
2024-09-27 04:31:47 +00:00
Nithin Bekal
3209bb950b [ruby/benchmark] Specify unit of time for Benchmark.realtime
388236685c
2024-09-27 04:31:47 +00:00
Hiroshi SHIBATA
ebb1816718 [ruby/benchmark] Bump up 0.3.0
81af12352d
2023-11-06 18:33:03 +09:00
Hiroshi SHIBATA
5bfb317a93 [ruby/benchmark] Don't use version.rb
6d51b10500
2023-05-25 07:08:44 +00:00
Keith Bennett
4f39a35b60
[ruby/benchmark] Add comment about terminating newline in captions; fix test method name.
02ce298d3e
2021-04-22 11:51:37 +09:00
Marc-Andre Lafortune
61f417ac7d [lib/benchmark] Use $stdout instead of STDOUT [Bug #17600] 2021-03-01 19:23:21 -05:00
Keith Bennett
3a7ff66abc [ruby/benchmark] Adds Tms#to_h
[Feature #17601]
2021-02-07 23:06:17 -05:00
nobu
97f8d0fb9e Work on Benchmark::Tms documentation [ci skip]
[ruby-core:88874] [Bug #15080]

From: Richard Wardin <shalmezad@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15 12:45:46 +00:00
kazu
aa710736b4 lib/benchmark.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-03 02:00:01 +00:00
a_matsuda
3a05da1321 [DOC] Fix typos
* benchmark.rb
* getoptlong.rb
* irb.rb
* net/http.rb
* net/http/header.rb
* net/imap.rb
* optparse.rb
* pstore.rb
* webrick.rb
* xmlrpc.rb

[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-23 03:43:23 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
normal
cb1affb478 lib/benchmark.rb: just use Process::CLOCK_MONOTONIC
Assume Process::CLOCK_MONOTONIC exists (possibly emulated) and
there is no need to bloat our code by defining a compatibility
constant.

* lib/benchmark.rb: just use Process::CLOCK_MONOTONIC
  [ruby-core:69390]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-02 00:08:25 +00:00
hsbt
cdea1553b3 * lib/benchmark.rb: Update Benchmark documentation and formatting.
[fix GH-903][ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-19 08:15:07 +00:00
normal
b8eec6b691 lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support
In addition to being unaffected by _offset_ correction,
CLOCK_MONOTONIC_RAW is also unaffected by _frequency_ correction,
making it unsuitable for measuring real time on systems where the
clock is always running too fast or slow.

CLOCK_MONOTONIC (without _RAW) is the correct clock, as it is unaffected
by _offset_ correction (due to human error or battery replacement), but
still takes _frequency_ correction into account for clocks which
consistently run too fast or slow.

Thanks to Vít Ondruch for reporting the issue on ARM [Bug #10202]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11 08:09:07 +00:00
akr
8bd2d31d45 * lib/benchmark.rb: Fix a syntax error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-31 07:59:12 +00:00
nobu
cf990c5ace benchmark.rb: Process::CLOCK_MONOTONIC_RAW may be unavailable
* lib/benchmark.rb (BENCHMARK_CLOCK): Process::CLOCK_MONOTONIC_RAW
  is not supported on old linux.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-31 06:05:43 +00:00
nobu
4274b7975e benchmark.rb: prefer Process::CLOCK_MONOTONIC_RAW
* lib/benchmark.rb (BENCHMARK_CLOCK): prefer Process::CLOCK_MONOTONIC_RAW
  if available to more accurate measure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-30 06:15:22 +00:00
normal
03fa0c4986 lib/benchmark.rb (measure): reduce allocations as in r47260
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-24 02:10:28 +00:00
normal
249bd1ed2a lib/benchmark.rb: speedup by reducing allocations
* lib/benchmark.rb (module Benchmark): define BENCHMARK_CLOCK
  (realtime): use Process.clock_gettime(BENCHMARK_CLOCK)
  [Feature #10165]

* test/benchmark/test_benchmark.rb (test_realtime_output): new test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-24 02:03:06 +00:00
hsbt
8fded5ba3e * lib/benchmark.rb: split executable code into sample directory.
* sample/benchmark.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-23 19:45:09 +00:00
zzak
a5314c647a * lib/benchmark.rb: [DOC] grammar of Benchmark#bm [Bug #8888]
Patch by Prathamesh Sonpatki


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 16:05:48 +00:00
zzak
c322f10ad9 * lib/benchmark.rb: Update Benchmark results on newer CPU
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-30 14:19:20 +00:00
naruse
39b33658e3 * lib/benchmark.rb: Fix Benchmark.benchmark output with an empty
caption.  patched by Benoit Daloze. [ruby-core:45719] [Bug #6610]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-18 03:56:58 +00:00
drbrain
b2b93d4be1 * lib/benchmark.rb: Updated formatting of Benchmark documentation for
consistency.  [ruby-trunk - Bug #6533]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 22:56:17 +00:00
ktsj
c3749b6a6d * ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb,
ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb,
  lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb,
  lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb,
  lib/rinda/tuplespace.rb, lib/rss/maker/base.rb,
  lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb,
  lib/shell/command-processor.rb, lib/shell/process-controller.rb,
  lib/shell/system-command.rb, lib/uri/common.rb: remove unused block
  arguments to avoid creating Proc objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 07:37:47 +00:00
naruse
4870feb31a * lib/benchmark.rb: merge eregon/benchmark.
https://github.com/eregon/ruby/tree/benchmark
  patched by Benoit Daloze. [ruby-core:37593] [Bug #4940]

* lib/benchmark (Benchmark#bmbm): bmbm should be consistent with bm
  for the return value.

* test/benchmark: remove preemptive test instead of skipping
  I removed the preemptive test I wrote for Feature #4197.
  I'll add it back when the implementation will be able to satisfy it.

* lib/benchmark (Benchmark#bmbm): remove useless explicit call,
  #format is an alias of #to_s test/benchmark: add a test for
  format of long time.

* lib/benchmark: fix label width: always add 1 to ensure there is a
  space delimiter even with times over 100s
  When I asked for Feature #4197, I wanted to make delimiting spaces
  consistent for #bm and #bmbm.
  But with times over 100s, the output contains no space between the
  label and the first time (user).
  Now both ensure there is always a space, even if that means 3 spaces
  with times under 10s (because it is formatted as %10.6f)

* test/benchmark: let labels be a constant
  lib/benchmark (Benchmark#realtime): avoid creating an unused Proc
  lib/benchmark (Benchmark#benchmark): use ensure clause to restore
  STDOUT.sync, as in #bmbm

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 06:09:46 +00:00
drbrain
105a9e036c * lib/benchmark.rb: Document Benchmark::Tms#memberwise. Patch by
David Czarnecki.  [Ruby 1.9 - Bug #4873]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-16 22:47:28 +00:00
drbrain
5bf1c145d4 * lib/benchmark.rb: Restore nodoc for Benchmark::Job and
Benchmark::Report.  [Ruby 1.9 - Bug #4726]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-25 00:38:30 +00:00
nobu
d371e3583e * lib: revert r31635-r31638 and untabify with expand(1).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-19 00:07:25 +00:00
drbrain
b205e55953 * lib/benchmark.rb: Fix indentation.
* lib/net/imap.rb:  Fix indentation of regular expressions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 22:07:09 +00:00
drbrain
7bbf2f3085 * lib: Convert tabs to spaces for ruby files per
http://redmine.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style
	  Patch by Steve Klabnik [Ruby 1.9 - Bug #4730]
	  Patch by Jason Dew [Ruby 1.9 - Feature #4718]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 21:19:18 +00:00
nobu
7dd49ed5a7 * lib: remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 14:09:38 +00:00
drbrain
0d014df637 * lib/benchmark.rb: Remove nodoc from Benchmark::Job and
Benchmark::Report.  Patch by Sandor Szücs.  [Ruby 1.9 - Bug #4726]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-17 20:42:25 +00:00
nagachika
b50d85ebc6 * lib/benchmark.rb (Benchmark#bmbm): use ensure clause instead of
Object#tap to restore STDOUT.sync.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-07 14:01:01 +00:00
naruse
979ec8df5d * lib/benchmark.rb: fix benchmarck to work with current ruby.
patched by Benoit Daloze [ruby-core:33846] [ruby-dev:43143]
  merged from https://github.com/eregon/ruby/commits/benchmark

*  lib/benchmark (Report#width): update documentation
*  lib/benchmark: document the return value of #benchmark and the
   :list attribute in Report
*  lib/benchmark (Tms#format): rename variables, use String#%
   instead of Kernel.format
*  lib/benchmark: remove undocumented Benchmark::times (an alias
   of Process::times used twice)
*  lib/benchmark (#benchmark): use label_width for the caption
*  lib/benchmark (Tms#initialize): rename variables
*  lib/benchmark: allow title to not be a String and call #to_s
*  lib/benchmark (Benchmark#bm): return an Array of the times with
   the labels
*  lib/benchmark: correct output for Benchmark#bmbm
   (remove the extra space)
*  lib/benchmark: add a few tests for Benchmark::Tms output
*  lib/benchmark: improve style (enumerators, ljust, unused vars)
*  lib/benchmark: add spec about output and return value
*  lib/benchmark: improve basic style and consistency
   no parenthesis for print and use interpolation instead of printf
*  lib/benchmark: remove unnecessary conversions and variables
*  lib/benchmark: correct indentation
*  lib/benchmark: rename the FMTSTR constant and variable to FORMAT
*  lib/benchmark: remove useless exception

*  test/benchmark: remove unused variable warnings

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-31 16:11:06 +00:00
marcandre
f3e3547407 * lib/*.rb: Remove unused variable warnings.
Patch by Run Paint [ruby-core:30991]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 20:59:01 +00:00
kazu
fe0aab0911 * lib/benchmark.rb (Benchmark::Tms#add): fix NameError.
[ruby-dev:40906]

* test/benchmark/test_benchmark.rb: add a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-02 18:22:29 +00:00
nobu
287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
gotoken
208b52a3d3 update rdoc [ruby-core:20407] #835
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-11 15:49:58 +00:00
naruse
a336e6ebd1 * lib/benchmark.rb (Job::Benchmark#item): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-10 15:29:00 +00:00
matz
6445ddf14a * lib/benchmark.rb (Benchmark::realtime): make Benchmark#realtime
a bit faster.  a patch from Alexander Dymo <dymo@ukrpost.ua> in
  [ruby-core:15337].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-02 11:09:24 +00:00
nobu
44475bb208 * lib/benchmark.rb (Benchmark::Job::item): avoid modifying the
argument unintentionally.  [ruby-talk:253676]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-31 08:26:31 +00:00
nobu
92f0be2037 * dln.c, io.c, pack.c, lib/benchmark.rb, lib/cgi.rb, lib/csv.rb,
lib/date.rb, lib/ftools.rb, lib/getoptlong.rb, lib/logger.rb,
  lib/matrix.rb, lib/monitor.rb, lib/set.rb, lib/thwait.rb,
  lib/timeout.rb, lib/yaml.rb, lib/drb/drb.rb, lib/irb/workspace.rb,
  lib/net/ftp.rb, lib/net/http.rb, lib/net/imap.rb, lib/net/pop.rb,
  lib/net/telnet.rb, lib/racc/parser.rb, lib/rinda/rinda.rb,
  lib/rinda/tuplespace.rb, lib/shell/command-processor.rb,
  lib/soap/rpc/soaplet.rb, lib/test/unit/testcase.rb,
  lib/test/unit/testsuite.rb: typo fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-18 23:19:47 +00:00
dave
fb24225154 Tidy benchmark.rb documentation a tad
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-20 06:20:59 +00:00
gsinclair
fc5df64667 Converted RD to RDoc (Lyle Johnson) and improved documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-19 06:39:07 +00:00
nobu
4347eb8a7f * lib/benchmark.rb (Benchmark::bm): get rid of warning.
[ruby-talk:69124]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-11 01:51:14 +00:00
matz
d093279888 * hash.c (env_reject_bang): untaint key string.
* hash.c (env_delete_m): execute block only if deleting key does
  not exist.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-31 02:06:23 +00:00
akr
0977fe1705 * instruby.rb, ext/extmk.rb, lib/benchmark.rb, lib/cgi.rb,
lib/debug.rb, lib/getoptlong.rb, lib/optparse.rb, lib/time.rb,
  lib/date/format.rb, lib/irb/ruby-lex.rb lib/uri/common.rb: revert
  escape for `-' in character class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-29 06:39:50 +00:00