1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

56 commits

Author SHA1 Message Date
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 ]


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 ]



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
ko1
b7090e3673 * benchmark/bm_vm1_neq.rb, bm_vm1_not.rb: prop set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-10 00:59:04 +00:00
ko1
3db5e76e50 * benchmark/bm_vm1_neq.rb, bm_vm1_not.rb: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-10 00:57:10 +00:00
ko1
c79ab68d37 * vm.c: fix to recycle thread data (VM stack).
* thread.c: ditto.
* benchmark/bm_vm3_thread_create_join.rb: add loop count.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-21 09:06:06 +00:00
ko1
58b1f91b46 * benchmark/driver.rb: add path to trunk/lib if driver runner is
in build directory.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-21 09:03:52 +00:00
nobu
75feee0968 * set eol-style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-16 01:30:29 +00:00
ko1
c5f2bbaf82 * benchmark/driver.rb: enable specify label to executable.
(-e "ruby1::/path/to/ruby1; ruby2::/path/to/ruby2; ...")



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-03 08:58:56 +00:00
ko1
fbebfdf23d * benchmark/bm_so_fasta.rb: added.
* benchmark/bm_so_k_nucleotide.rb: added.
* benchmark/bm_so_reverse_complement.rb: added.
* benchmark/make_fasta_output.rb: added.
* benchmark/prepare_so_k_nucleotide.rb: added.
* benchmark/prepare_so_reverse_complement.rb: added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 13:42:36 +00:00
ko1
30b2cb380e * benchmark/driver.rb: fix notations.
* benchmark/bm_loop_whileloop.rb: ditto.
* benchmark/bm_loop_whileloop2.rb: ditto.
* benchmark/bm_app_uri.rb: added.
* benchmark/bm_vm1_ivar_set.rb: ditto.
* benchmark/bm_so_binary_trees.rb: added from Computer Language
  Benchmarks Game (http://shootout.alioth.debian.org/).
* benchmark/bm_so_fannkuch.rb: ditto.
* benchmark/bm_so_mandelbrot.rb: ditto.
* benchmark/bm_so_meteor_contest.rb: ditto.
* benchmark/bm_so_nbody.rb: ditto.
* benchmark/bm_so_nsieve.rb: ditto.
* benchmark/bm_so_nsieve_bits.rb: ditto.
* benchmark/bm_so_partial_sums.rb: ditto.
* benchmark/bm_so_pidigits.rb: ditto.
* benchmark/bm_so_spectralnorm.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 10:18:53 +00:00
ko1
8aa618d8e2 * benchmark/driver.rb: fix to output benchmark results
to file "bmlog-#{Time.now.strftime('%Y%m%d-%H%M%S')}.#{$$}".
* benchmark/bm_io_file_create.rb: remove useless codes.
* benchmark/bm_vm2_eval.rb: added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 06:59:59 +00:00
ko1
225e95fe83 * benchmark/bm_app_erb.rb: added.
* benchmark/bm_io_file_(create|read|write).rb: added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 03:53:34 +00:00
ko1
6698dd81e6 * benchmark/driver.rb: fix file selection algorithm.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 03:51:41 +00:00
ko1
2fe11b75d6 * benchmark/driver.rb: fix to output some helpful messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-27 08:33:21 +00:00
ko1
87375866a6 * benchmark/driver.rb: added.
* common.mk: fix to use above driver.
* benchmark/prepare_so_count_words.rb: added.
* benchmark/bm_so_count_words.rb: fix benchmark process.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-27 06:46:31 +00:00
akr
cecd39bee2 new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-26 00:41:08 +00:00
ko1
6244e502cc * thread.c: fix Mutex to be interruptable lock.
* thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h:
  prepare native_cond_*() which are based on pthread_cond_*() spec.
* prelude.rb: fix Mutex#synchronize method.
* vm_core.h, include/ruby/intern.h: change unblock function interface
  (to pass some user data).
* file.c, process.c: ditto.
* benchmark/bm_vm2_mutex.rb: add a benchmark for mutex.
* benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex
  with contension.
* benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby.
* test/ruby/test_thread.rb: add a test.
* common.mk: fix benchmark options.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-27 16:48:14 +00:00
ko1
487a7da22d * benchmark/bm_loop_generator.rb: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24 15:51:33 +00:00
ko1
c629aecbc8 * benchmark/bm_vm2_case.rb: add a new benchmark.
YARV optimize case/when syntax.  If every conditions
  are literal (such as Symbol, Fixnum, String), dispatch
  calc order will be O(1).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20 19:11:20 +00:00