Граф коммитов

73 Коммитов

Автор SHA1 Сообщение Дата
ko1 7b918be3d4 * common.mk: specify label `built-ruby'.
* benchmark/driver.rb: quote path.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 09:30:32 +00:00
ko1 2e87867a8f * benchmark/driver.rb: accept multiple `-e'.
You don't need to use `;' separation character.
  [ruby-core:50139] [ruby-trunk - Bug #7380]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 09:19:00 +00:00
ko1 c13f83471a * benchmark/bm_so_nsieve_bits.rb: add an encoding pragma.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-21 07:15:03 +00:00
eregon ee6cfa9cca benchmark/driver.rb: fix typos and output.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-17 11:07:05 +00:00
ko1 9b68747be0 * benchmark/driver.rb: add `-x' or `--exclude' option
to specify exclude benchmark name pattern.
  You can specify "-x foo" if you want to exclude the benchmarks
  if the name of benchmark contains `foo'.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24 08:46:01 +00:00
ko1 e99989bf4f * benchmark/driver.rb: remove unexpected `output'.
(commit miss)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19 02:15:00 +00:00
ko1 f2a9c42c7a * benchmark/bmx_temp.rb: removed.
This file should not be in repository.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19 01:23:50 +00:00
ko1 a31d53ecf5 * benchmark/driver.rb: add new option `--ruby-arg [ARG]'
which is passed as a launch parameter for each ruby's execution.
  ($ ruby [ARG] [File])



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19 01:22:08 +00:00
ko1 aef5f90281 * benchmark/bm_vm2_method_missing.rb: add a benchmark to measure
performance of invoking `method_missing'.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17 07:26:58 +00:00
ko1 5e2625eebd * benchmark/bm_vm2_dstr.rb: add a benchmark to measure
performance of dynamic generated string ("foo#{bar}baz").



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 23:47:51 +00:00
ko1 db3898fe90 * benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield'
(invoke empty block) performance.
* benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure
  method invocation with empty block.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 20:37:25 +00:00
ko1 f8c2a968dd * benchmark/driver.rb (show_results): Show speedup ratio
with first executables score at last of results
  if two or more executrables are given.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 13:26:46 +00:00
ko1 64b1751194 * benchmark/driver.rb: some refactoring.
(1) Remove `average differential'.
  In this benchmark driver, We should not care about `average'.
  We use fastest score because this score should not include
  any disturbances (affections of background process, etc).
  If you care about timing affect, I recommend `median'
  score with more than 5 examinations rather than simple
  `average' score (`average' score was affected by error scores).
  (2) Show log file name.
  (3) Change default directory from './' to driver's directory.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 13:07:44 +00:00
kou a17cb167ea * benchmark/: add missing spaces around assignment operators (= and +=) for
consistency.
  Approved by ko1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-15 12:53:12 +00:00
ko1 fd3b0dec4a * benchmark/bm_vm1_attr_ivar(_set).rb: added (for method dispatch speed).
* benchmark/bm_vm1_float_simple.rb: added (for flonum/float).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-14 18:53:01 +00:00
ko1 b3b5e626ad * include/ruby/ruby.h: introduce flonum technique for
64bit CPU environment (sizeof(double) == sizeof(VALUE)).
  flonum technique enables to avoid double object creation
  if the double value d is in range about between
  1.72723e-77 < |d| <= 1.15792e+77 or 0.0.
  flonum Float value is immediate and their lowest two bits
  are b10.
  If flonum is activated, then USE_FLONUM macro is 1.
  I'll write detailed in this technique on
  https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Flonum_tech
* benchmark/bmx_temp.rb: add an benchmark for simple
  Float calculation.
* gc.c (id2ref, rb_obj_id): add flonum Float support.
* include/ruby/intern.h: move decl of rb_float_new(double)
  to include/ruby/ruby.h.
* insns.def, vm.c, vm_insnhelper.c: add flonum optimization
  and simplify source code.
* vm_insnhelper.h (FLONUM_2_P): added.
* marshal.c: support flonum output.
* numeric.c (rb_float_new_in_heap): added.
* parse.y: support flonum.
* random.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 07:22:40 +00:00
eregon 9955681379 * benchmark/driver.rb: fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-11 15:45:54 +00:00
nagachika 77dc968e6c * benchmark/bm_vm1_lvar_init.rb: fix newline code.
* benchmark/bm_vm2_bigarray.rb: ditto.
* benchmark/bm_vm2_bighash.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-27 16:14:46 +00:00
ko1 7796c7d751 * benchmark/bm_vm1_lvar_init.rb: added.
This benchmark measures a initialize time of non-used variable.
* benchmark/bm_vm1_lvar_set.rb: added.
  This benchmark measures a local variables initialization time.
* benchmark/bm_vm2_bigarray.rb: added.
  This benchmark mesures a big array literal creation time.
* benchmark/bm_vm2_bighash.rb:
  This benchmark mesures a big hash literal creation time.
* benchmark/bm*: change notation "i=0" to "i = 0".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-27 14:41:01 +00:00
ko1 06653c1933 * benchmark/driver.rb: fix to continue benchmarks when
an error is occurred.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-27 04:35:11 +00:00
ko1 fbf531c4a2 * vm.c (frame_info_to_str): add `break'.
* vm.c (backtrace_object): remove lev and n parameter.
  backtrace_object always returns all of backtrace information.
* vm.c (rb_backtrace_to_str_ary): fix to use backtrace_object().
  This change improve performance of caller(lev, n).
* benchmark/bm_vm3_backtrace.rb: added to check above improvement.
  FYI: measurement on my laptop, 1.9.3p229 needs 5.125 sec,
  and current trunk only needs 0.299sec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 03:25:15 +00:00
ko1 3dcebce523 * vm.c: add RubyVM::Backtrace object (btobj).
Backtrace information contains an array consists of location
  information for each frames by string.
  RubyVM::Backtrace object is lightweight backtrace information,
  which contains complete information to generate traditional style
  backtrace (an array of strings) with faster generation.
  If someone accesses to backtrace information via
  Exception#backtrace, then convert a RubyVM::Backtrace object to
  traditonal style backtrace.
  This change causes incompatibility on marshal dumpped binary
  of Exception.  If you have any trouble on it, please tell us
  before Ruby 2.0 release.
  Note that RubyVM::Backtrace object should not expose Ruby level.
* error.c, eval.c, vm_eval.c: ditto.
* internal.h: ditto.
* eval_error.c: fix to skip "set_backtrace" method invocation in
  creating an exception object if it call a normal set_backtrace
  method (defined by core).
* test/ruby/test_settracefunc.rb: fix for above change.
* vm_method.c (rb_method_defined_by): added.  This function
  checks that the given object responds with the given method
  by the given cfunc.
* benchmark/bm_vm2_raise1.rb, benchmark/bm_vm2_raise2.rb:
  add to measure exception creation speed. raise1 create
  exception objects from shallow stack frame.  raise2 create
  exception objects from deep stack frame.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 06:09:23 +00:00
ktsj 0d0344c1f0 * benchmark/driver.rb: suppress unused/shadowing variable warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-12 06:17:25 +00:00
usa b37c003e24 * benchmark/bm_io_select[23].rb: use Process::RLIMIT_NOFILE only when
it is defined.  if it is not defined, assume 64 as the max of fds.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-17 11:24:07 +00:00
drbrain 789b288d10 * benchmark/driver.rb: Add difference column to report that averages
across all runs of a benchmark.  [Ruby 1.9 - Feature #4982]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-06 21:47:56 +00:00
kosaki f44446c45d * benchmark/bm_app_erb.rb: increase loop count. too short
mesurement time makes less accuracy.
	* benchmark/bm_app_factorial.rb: ditto.
	* benchmark/bm_app_mandelbrot.rb: ditto.
	* benchmark/bm_app_strconcat.rb: ditto.

	* benchmark/bm_io_file_create.rb: ditto.
	* benchmark/bm_io_file_read.rb: ditto.
	* benchmark/bm_io_file_write.rb: ditto.

	* benchmark/bm_so_concatenate.rb: ditto.
	* benchmark/bm_so_lists.rb: ditto.
	* benchmark/bm_so_matrix.rb: ditto.
	* benchmark/bm_so_random.rb: ditto.
	* benchmark/bm_so_sieve.rb: ditto.

	* benchmark/bm_vm_thread_mutex1.rb: ditto.
	* benchmark/bm_vm_thread_mutex2.rb: ditto.
	* benchmark/bm_vm_thread_mutex3.rb: ditto.

	* benchmark/bm_vm1_block.rb: cleanup.
	* benchmark/bm_vm1_const.rb: cleanup.
	* benchmark/bm_vm1_ensure.rb: cleanup.
	* benchmark/bm_vm1_ivar.rb: cleanup.
	* benchmark/bm_vm1_length.rb: cleanup.
	* benchmark/bm_vm1_neq.rb: cleanup.
	* benchmark/bm_vm1_not.rb: cleanup.
	* benchmark/bm_vm1_rescue.rb: cleanup.
	* benchmark/bm_vm1_simplereturn.rb: cleanup.
	* benchmark/bm_vm1_swap.rb: cleanup.

	* benchmark/bm_vm2_array.rb: cleanup.
	* benchmark/bm_vm2_case.rb: cleanup.
	* benchmark/bm_vm2_defined_method.rb: cleanup.
	* benchmark/bm_vm2_eval.rb: cleanup.
	* benchmark/bm_vm2_method.rb: cleanup.
	* benchmark/bm_vm2_mutex.rb: cleanup.
	* benchmark/bm_vm2_poly_method.rb: cleanup.
	* benchmark/bm_vm2_poly_method_ov.rb: cleanup.
	* benchmark/bm_vm2_proc.rb: cleanup.
	* benchmark/bm_vm2_regexp.rb: cleanup.
	* benchmark/bm_vm2_send.rb: cleanup.
	* benchmark/bm_vm2_super.rb: cleanup.
	* benchmark/bm_vm2_unif1.rb: cleanup.
	* benchmark/bm_vm2_zsuper.rb: cleanup.

	* benchmark/bm_vm_thread_alive_check1.rb: cleanup.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-01 10:39:12 +00:00
nobu 198c2570e7 * sytle fixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-30 20:20:32 +00:00
ko1 c4becf8aaf * benchmark/bm_vm2_defined_method.rb: added to measure performance of
bmethod (method defined by define_method()).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-30 13:39:50 +00:00
ko1 98d45ef140 * benchmark/bm_vm4_thread_create_join.rb,
benchmark/bm_vm4_thread_mutex[1-3].rb: renamed to
  bm_thread_* (fix last rename).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-16 18:09:03 +00:00
ko1 ef3fb5d1e8 * benchmark/bm_vm3_thread_*.rb: renamed bm_vm3_thread_*.rb to
benchmark/bm_vm_thread_*.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-14 19:45:08 +00:00
kosaki c1bbb616d8 * benchmark/bm_vm4_thread_pass.rb: rename bm_vm4* to
bm_vm_thread_*. suggested by ko1.
* benchmark/bm_vm4_pipe.rb: ditto.
* benchmark/bm_vm4_alive_check1.rb: ditto.
* benchmark/bm_vm4_pass_flood.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-14 19:30:12 +00:00
kosaki 7f6e8625bb * benchmark/bm_vm4_pass_flood.rb: new benchmark for GVL fairness.
* benchmark/bm_vm4_alive_check1.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-14 18:54:30 +00:00
nobu a72f033447 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-13 14:05:56 +00:00
ko1 d5abe72cca * benchmark/bm_vm3_clearmethodcache.rb: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-12 09:12:38 +00:00
ko1 3c9187a2ad * benchmark/bm_vm3_thread_mutex.rb: remove it.
* benchmark/bm_vm3_thread_mutex[1-3].rb: added 3 benchmarks.
  1: one thread with one mutex (no contention).
  2: two threads with one mutex (contention).
  3: 1000 threads with one mutex (huge number of contention)
  Abobe removed benchmark was type 3.
  Therefore, this commit adds type 1 and 2 benchmark.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-12 04:38:50 +00:00
nobu 3a47cf3395 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
kosaki f5b0f04d2a * benchmark/bm_vm4_pipe.rb: Reduced iterations. Too slow benchmark
is bad.
* benchmark/bm_vm4_thread_pass.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-04 13:14:28 +00:00
kosaki 512624b628 * benchmark/bm_io_select2.rb: reduce number of using file
descriptors. because gdb need some fds.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-04 12:13:02 +00:00
kosaki 5201602c27 * benchmark/bm_io_select3.rb: New.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30 07:49:29 +00:00
kosaki 568c934373 * benchmark/bm_io_select.rb, benchmark/bm_io_select2.rb: New.
based on a patch from Eric Wong at [Feature #4531]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30 07:16:31 +00:00
kosaki 3c24bc37a0 * benchmark/bm_vm4_pipe.rb: Add two new benchmark for GVL
performance. They was written by Koichi Sasada.
* benchmark/bm_vm4_thread_pass.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-29 01:44:32 +00:00
kosaki 1195ba6644 * benchmark/driver.rb (BenchmarkDriver#measure): Show command line
when abnormal exiting occur.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-29 11:23:42 +00:00
akr c0b4e90f08 * tool/mkconfig.rb: generate RbConfig.ruby in rbconfig.rb.
* lib/webrick/httpservlet/cgihandler.rb: use RbConfig.ruby.

* test/ruby/envutil.rb: ditto.

* benchmark/report.rb: ditto.

* benchmark/runc.rb: ditto.

* tool/eval.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-31 15:00:04 +00:00
ko1 dd7f5639a9 * benchmark/driver.rb: remove RUBY_VERSION output.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-06 20:08:57 +00:00
akr d5bfa31f82 * runruby.rb: use RbConfig::CONFIG instead of Config::CONFIG.
* spec/default.mspec: ditto.

* yarvtest/yarvtest.rb: ditto.

* instruby.rb: ditto.

* benchmark/report.rb: ditto.

* benchmark/runc.rb: ditto.

* tool/eval.rb: ditto.

* test/rubygems/test_gem.rb: ditto.

* test/rubygems/test_config.rb: ditto.

* test/rubygems/test_gem_platform.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-30 12:25:23 +00:00
nobu 901ba06ba6 properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 23:30:39 +00:00
ko1 3f710785f0 * parse.y: optimize 'for' statement when one variable given.
* benchmark/bm_loop_for.rb: added.
* benchmark/bm_loop_times.rb: modified.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 19:19:36 +00:00
ko1 385f0e8af6 * vm.c, insns.def, eval.c, vm_insnhelper.c: fix CREF handling.
VM value stack frame of block contains cref information.
  (dfp[-1] points CREF)
* compile.c, eval_intern.h, eval_method.c, load.c, proc.c,
  vm_dump.h, vm_core.h: ditto.
* include/ruby/ruby.h, gc.c: remove T_VALUES because of above
  changes.
* bootstraptest/test_eval.rb, test_knownbug.rb: move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 03:08:50 +00:00
nobu 09007ccbaa * vm_core.h (rb_vm_t), gc.c (rb_objspace, rb_newobj), vm.c
(Init_BareVM): per-VM object space support, which is disabled now.

* gc.c (rb_objspace_alloc), vm.c (Init_BareVM): should not use ruby
  malloc here.

* gc.c (garbage_collect, etc): performance improvement by passing the
  reference instead of refering the global variable in each functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-27 03:20:35 +00:00
akr 4cf437519f * regerror.c, string.c, io.c, lib/getoptlong.rb, lib/net/imap.rb,
compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c,
  ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb,
  ext/openssl/ossl_bn.c, numeric.c, vm.c,
  benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal"
  for non law violation context.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 02:31:11 +00:00