Project

General

Profile

Actions

Feature #11318

closed

[PATCH] delay `exception: false' checks for minor speedup

Added by normalperson (Eric Wong) almost 9 years ago. Updated almost 9 years ago.

Status:
Closed
Target version:
-
[ruby-core:69778]

Description

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.

Pretty straighforward, I'd like to commit in a few days.


Files

Actions #1

Updated by Anonymous almost 9 years ago

  • Status changed from Open to Closed

Applied in changeset r51113.


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]
Actions

Also available in: Atom PDF

Like0
Like0