ruby/lib
hsbt 37abc2fb7e Improve CSV parsing performance.
Patch by @joshpencheon (Josh Pencheon)
  [fix GH-1607]

  #### benchmark-ips results
  ```
  trunk:
  Warming up --------------------------------------
                         4.000  i/100ms
  Calculating -------------------------------------
                         39.661  (±10.1%) i/s -      2.352k in 60.034781s
  with-patch:
  Warming up --------------------------------------
                         5.000  i/100ms
  Calculating -------------------------------------
                         60.521  (± 9.9%) i/s -      3.595k in 60.047157s
  ```

  #### memory_profiler resuts

  ```
  trunk:
  allocated memory by class
  -----------------------------------
    35588490  String
     7454320  Array
      294000  MatchData
       37340  Regexp
       11840  Hash
        2400  CSV
        1600  Proc
        1280  Method
         800  StringIO
  with-patch:
  allocated memory by class
  -----------------------------------
    18788490  String
     3454320  Array
      294000  MatchData
       37340  Regexp
       11840  Hash
        2400  CSV
        1600  Proc
        1280  Method
         800  StringIO
  ```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-18 02:42:16 +00:00
..
cgi cgi/util.rb: Don't escape tilde in #escape 2017-05-17 12:34:59 +00:00
drb Use \A and \z to match whole string 2017-04-07 13:26:12 +00:00
forwardable forwardable/impl.rb 2016-11-20 02:12:48 +00:00
irb ruby-lex.rb: fix continued line conditions 2017-04-20 11:07:02 +00:00
matrix get rid of ambiguous parentheses warnings 2016-11-29 16:06:54 +00:00
net net/imap: Revert read_tiemout in r58549. 2017-05-12 09:39:23 +00:00
optparse optparse/kwargs.rb 2016-10-14 13:26:13 +00:00
racc Fix grammar errors 2016-11-08 19:55:59 +00:00
rdoc Update rdoc-5.1.0 2017-02-24 07:39:37 +00:00
rexml rexml: REXML::Element#[] accepts String or Symbol as attribute name 2016-12-06 13:57:56 +00:00
rinda rinda/ring.rb (make_socket): do not keep socket on failures 2017-01-17 03:31:57 +00:00
rss rss: Accept empty text element as valid element 2017-05-03 12:25:17 +00:00
rubygems fix tempfile leaks on Windows 2017-05-16 05:47:53 +00:00
shell Fix two typos 2017-03-29 11:49:39 +00:00
unicode_normalize add explanations about status of module UnicodeNormalize 2017-05-09 10:45:46 +00:00
uri lib/uri/generic.rb: fix typos 2017-05-10 19:03:07 +00:00
webrick Merge gemspec from ruby/webrick. 2017-05-01 10:20:35 +00:00
yaml * lib/yaml/store.rb (YAML::Store#dump): use table argument instead of @table directly. 2016-09-29 14:40:34 +00:00
English.rb lib/English.rb: Specify frozen_string_literal: true. 2017-01-02 12:20:09 +00:00
abbrev.rb lib/abbrev.rb: Specify frozen_string_literal: true. 2017-02-09 16:12:00 +00:00
base64.rb Use `unpack1` instead of `unpack` and `first` 2017-02-10 00:58:47 +00:00
benchmark.rb lib/benchmark.rb: Specify frozen_string_literal: true. 2017-01-03 02:00:01 +00:00
cgi.rb {lib,test}/cgi: Specify frozen_string_literal: true. 2017-02-18 05:52:16 +00:00
cmath.gemspec Fix a required ruby version on gemspec of gemified libraries. 2017-02-07 07:14:22 +00:00
cmath.rb lib/cmath.rb: Specify frozen_string_literal: true. 2017-01-04 05:47:52 +00:00
csv.gemspec Fix a required ruby version on gemspec of gemified libraries. 2017-02-07 07:14:22 +00:00
csv.rb Improve CSV parsing performance. 2017-05-18 02:42:16 +00:00
debug.rb lib/debug.rb: Specify frozen_string_literal: true. 2017-01-05 01:00:01 +00:00
delegate.rb lib/delegate.rb: Specify frozen_string_literal: true. 2017-01-06 02:05:35 +00:00
drb.rb Add frozen_string_literal: false for all files 2015-12-16 05:07:31 +00:00
e2mmap.rb lib/e2mmap.rb: Specify frozen_string_literal: true. 2017-03-01 11:37:30 +00:00
erb.rb erb.rb: Don't encode tilde in #url_encode 2017-05-17 11:58:09 +00:00
fileutils.gemspec Import latest gemspec from ruby/fileutils. 2017-04-12 08:12:53 +00:00
fileutils.rb docs for FileUtils.ln methods 2017-03-08 20:41:38 +00:00
find.rb lib/find.rb: Specify frozen_string_literal: true. 2017-02-13 12:16:26 +00:00
forwardable.rb forwardable.rb: fix branches 2017-01-03 09:47:16 +00:00
getoptlong.rb lib/getoptlong.rb: Specify frozen_string_literal: true. 2017-01-08 04:17:08 +00:00
ipaddr.rb IPAddr#== and IPAddr#<=> no longer raise an exception if coercion fails 2016-11-05 13:53:38 +00:00
irb.rb Removed math mode from irb. 2017-04-20 09:11:36 +00:00
logger.rb logger: remove redundant opt_str_freeze use 2017-03-24 07:29:33 +00:00
matrix.rb * lib/matrix.rb: Add Vector.zero and Vector#zero? 2017-03-14 20:09:30 +00:00
mkmf.rb mkmf.rb: get rid of error messages 2017-02-27 07:37:55 +00:00
monitor.rb Use qualified names 2016-08-30 06:22:30 +00:00
mutex_m.rb Use qualified names 2016-08-30 06:22:30 +00:00
observer.rb lib/observer.rb: Specify frozen_string_literal: true. 2017-01-13 12:08:29 +00:00
open-uri.rb * lib/open-uri.rb: Improved documentation grammar for 2016-10-20 07:19:58 +00:00
open3.rb lib/open3: favor symbol proc when possible 2016-11-21 23:13:16 +00:00
optionparser.rb Add frozen_string_literal: false for all files 2015-12-16 05:07:31 +00:00
optparse.rb nodoc OptParse 2017-03-04 19:52:30 +00:00
ostruct.rb ostruct.rb: improve fix for OpenStruct.allocate + #respond_to? 2017-04-01 10:30:48 +00:00
pp.rb Refactored using Method#owner. 2017-04-04 12:54:42 +00:00
prettyprint.rb * lib/open-uri.rb: Remove indicator for "frozen_string_literal: true". 2015-11-10 11:48:14 +00:00
prime.rb * basictest/test.rb: Adjust spaces in class declarations 2016-10-07 05:18:57 +00:00
profile.rb lib/profile.rb: Specify frozen_string_literal: true. 2017-01-15 02:56:04 +00:00
profiler.rb lib/profiler.rb: Specify frozen_string_literal: true. 2017-01-18 12:35:10 +00:00
pstore.rb lib/pstore.rb: Specify frozen_string_literal: true. 2017-01-17 12:47:38 +00:00
rdoc.rb Update rdoc-5.1.0 2017-02-24 07:39:37 +00:00
resolv-replace.rb * lib/resolv-replace.rb: Specify frozen_string_literal: true. 2015-11-14 08:25:30 +00:00
resolv.rb resolv.rb: byte buffer 2017-01-14 02:26:49 +00:00
rss.rb Add frozen_string_literal: false for all files 2015-12-16 05:07:31 +00:00
rubygems.rb Merge rubygems-2.6.12 from rubygems/rubygems. 2017-05-01 11:40:46 +00:00
scanf.gemspec Added initial gemspec for Scanf module. 2017-02-14 11:12:52 +00:00
scanf.rb Add frozen_string_literal: false for all files 2015-12-16 05:07:31 +00:00
securerandom.rb securerandom: fix up r57384 2017-02-24 11:33:06 +00:00
set.rb Add Set#compare_by_identity and Set#compare_by_identity? 2016-11-05 09:23:14 +00:00
shell.rb shell.rb: suppress warnings 2016-11-05 23:58:02 +00:00
shellwords.rb Fix the handling of the backslash in double quotes 2016-11-05 04:58:48 +00:00
singleton.rb Use qualified names 2016-08-30 06:22:30 +00:00
sync.rb * lib/sync.rb: Fix NameError when error. 2016-09-18 10:24:48 +00:00
tempfile.rb Fix bug of Tempfile#size if nothing is written [Bug #13198] 2017-03-14 12:53:32 +00:00
thwait.rb Use qualified names 2016-08-30 06:22:30 +00:00
time.rb Time.parse's "now" argument as nil works again. 2016-11-05 14:03:34 +00:00
timeout.rb fix a typo [ci skip] 2016-09-07 12:32:02 +00:00
tmpdir.rb * lib/tmpdir.rb: Unify to coding-style for method definition. 2016-02-26 02:11:14 +00:00
tracer.rb Use qualified names 2016-08-30 06:22:30 +00:00
tsort.rb * lib/tsort.rb: Specify frozen_string_literal: true. 2015-11-14 08:46:11 +00:00
ubygems.rb * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1. 2016-03-04 00:29:40 +00:00
un.rb Octal mode in un.rb 2016-06-28 22:03:00 +00:00
uri.rb Add frozen_string_literal: false for all files 2015-12-16 05:07:31 +00:00
weakref.rb [DOC] Use Integer instead of Fixnum [ci skip] 2017-01-26 15:14:02 +00:00
webrick.rb [DOC] Fix typos 2015-12-23 03:43:23 +00:00
yaml.rb Add frozen_string_literal: false for all files 2015-12-16 05:07:31 +00:00