diff options
author | luislavena <luislavena@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-08-24 03:44:56 +0000 |
---|---|---|
committer | luislavena <luislavena@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-08-24 03:44:56 +0000 |
commit | 86df08dac6fc4642a6bac7bab6ccd5f44b7a293c (patch) | |
tree | 8629b0ba3bf876488b74145b455e85cbd030e469 /ChangeLog | |
parent | d212a89c380683490dc735c770855f08391540a1 (diff) | |
download | ruby-86df08dac6fc4642a6bac7bab6ccd5f44b7a293c.tar.gz |
Improve require/File.expand_path performance on Windows
* configure.in (mingw): add shlwapi to the list of dependency
libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.
* internal.h: declare internal functions rb_w32_init_file,
rb_file_expand_path_internal and rb_file_expand_path_fast.
* file.c (Init_File): invoke Windows initialization rb_w32_init_file
* win32/file.c (rb_file_load_path_internal): new function.
Windows-specific implementation that replaces file_expand_path.
[Bug #6836][ruby-core:46996]
* win32/file.c (rb_w32_init_file): new function. Initialize codepage
cache for faster conversion encodings lookup.
* file.c (file_expand_path): rename to rb_file_expand_path_internal.
Conditionally exclude from Windows.
* file.c (rb_file_expand_path_fast): new function. delegates to
rb_file_expand_path_internal without performing a hit to the
filesystem.
* file.c (file_expand_path_1): use rb_file_expand_path_internal without
path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.
* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
path expansion.
* file.c (rb_file_absolute_path): ditto.
* test/ruby/test_file_exhaustive.rb: new tests to exercise
rb_file_expand_path_internal implementation and compliance with
existing behaviors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -1,3 +1,44 @@ +Fri Aug 24 12:40:15 2012 Luis Lavena <luislavena@gmail.com> + + * configure.in (mingw): add shlwapi to the list of dependency + libs for Windows. + * win32/Makefile.sub (EXTSOLIBS): ditto. + + * internal.h: declare internal functions rb_w32_init_file, + rb_file_expand_path_internal and rb_file_expand_path_fast. + + * file.c (Init_File): invoke Windows initialization rb_w32_init_file + + * win32/file.c (rb_file_load_path_internal): new function. + Windows-specific implementation that replaces file_expand_path. + [Bug #6836][ruby-core:46996] + + * win32/file.c (rb_w32_init_file): new function. Initialize codepage + cache for faster conversion encodings lookup. + + * file.c (file_expand_path): rename to rb_file_expand_path_internal. + Conditionally exclude from Windows. + + * file.c (rb_file_expand_path_fast): new function. delegates to + rb_file_expand_path_internal without performing a hit to the + filesystem. + + * file.c (file_expand_path_1): use rb_file_expand_path_internal without + path expansion (used by require). + * file.c (rb_find_file_ext_safe): ditto. + * file.c (rb_find_file_safe): ditto. + + * load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast. + * load.c (rb_feature_provided): ditto. + + * file.c (rb_file_expand_path): use rb_file_expand_path_internal with + path expansion. + * file.c (rb_file_absolute_path): ditto. + + * test/ruby/test_file_exhaustive.rb: new tests to exercise + rb_file_expand_path_internal implementation and compliance with + existing behaviors. + Fri Aug 24 07:35:24 2012 Eric Hodel <drbrain@segment7.net> * lib/net/http/backward.rb (class Net): Restored Net::HTTPSession to |