1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext
normal df4e282eeb delay `exception: false' checks for minor speedup
Delay hash lookups until we are about to hit an exception.  This
gives a minor speedup ratio of 2-3% in the new bm_io_nonblock_noex
benchmark as well as reducing code.

* benchmark/bm_io_nonblock_noex.rb: new benchmark
* ext/openssl/ossl_ssl.c (no_exception_p): new function
  (ossl_start_ssl): adjust for no_exception_p
  (ossl_ssl_connect): adjust ossl_start_ssl call
  (ossl_ssl_connect_nonblock): ditto
  (ossl_ssl_accept): ditto
  (ossl_ssl_accept_nonblock): ditto
  (ossl_ssl_read_internal): adjust for no_exception_p
  (ossl_ssl_write_internal): ditto
  (ossl_ssl_write): adjust ossl_write_internal call
  (ossl_ssl_write_nonblock): ditto
* ext/stringio/stringio.c (strio_read_nonblock):
  delay exception check
* io.c (no_exception_p): new function
  (io_getpartial): call no_exception_p
  (io_readpartial): adjust for io_getpartial
  (get_kwargs_exception): remove
  (io_read_nonblock): adjust for io_getpartial,
  check no_exception_p on EOF
  (io_write_nonblock): call no_exception_p
  (rb_io_write_nonblock): do not check `exception: false'
  (argf_getpartial): adjust for io_getpartial
  [ruby-core:69778] [Feature #11318]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-02 22:22:14 +00:00
..
-test- * test/-ext-/popen_deadlock/test_popen_deadlock.rb: test [Bug #11265] 2015-06-25 12:42:07 +00:00
bigdecimal * ext/bigdecimal/bigdecimal.gemspec: Fix require paths for released gem. 2015-06-13 02:35:25 +00:00
continuation
coverage * ext/coverage/coverage.c: Remove extension from require argument. 2015-04-12 04:52:23 +00:00
date date_parse.c: use ALLOCV 2015-06-16 09:46:06 +00:00
dbm
digest digest.c: GC guard 2015-05-21 05:03:55 +00:00
etc ext: suppress warnings 2015-04-19 03:19:20 +00:00
fcntl
fiber
fiddle * include/ruby/ruby.h: $SAFE=2 is now obsolete. 2015-06-18 14:21:03 +00:00
gdbm
io * ext/io/console/depend (.list.chksum): revert a part of r50859, because 2015-06-13 10:47:30 +00:00
json generator.c: allocate structs with wrapper 2015-05-28 07:17:55 +00:00
mathn
nkf
objspace ext/objspace/objspace_dump.c: adjust indent 2015-06-21 03:21:34 +00:00
openssl delay `exception: false' checks for minor speedup 2015-07-02 22:22:14 +00:00
pathname * ext/pathname/lib/pathname.rb (descend): Blockless form supported. 2015-06-14 15:14:46 +00:00
psych psych: allocate structs with wrapper 2015-05-29 05:44:01 +00:00
pty * internal.h (rb_execarg_parent_end): Declared. 2015-04-09 12:44:35 +00:00
racc/cparse
rbconfig/sizeof sizes.c.tmpl: extract RUBY_DEFINT 2015-06-28 22:24:05 +00:00
readline
ripper
sdbm
socket socket: memoize common socket families in fptr->mode 2015-07-02 01:58:14 +00:00
stringio delay `exception: false' checks for minor speedup 2015-07-02 22:22:14 +00:00
strscan allocate structs with wrapper 2015-05-16 12:56:48 +00:00
syslog
thread thread.c: refine enums 2015-02-27 03:55:00 +00:00
tk tkutil.c: fix out-of-bounds access 2015-06-01 01:55:10 +00:00
win32 * ext/win32/Win32API.rb (initialize): accept both a string and an array 2015-02-25 13:08:01 +00:00
win32ole * ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton 2015-06-04 02:53:11 +00:00
zlib * ext/zlib/zlib.c: Fix indentation for rdoc. 2015-06-11 10:11:30 +00:00
.document
extmk.rb extmk.rb: fix with-ext condition 2015-06-18 22:58:14 +00:00
Setup
Setup.atheos
Setup.emx
Setup.nacl
Setup.nt