[ANN] two optimized 1.9.3-p0@33661 builds

15 views
Skip to first unread message

Jon

unread,
Nov 13, 2011, 12:10:15 PM11/13/11
to TheCodeShop
Two new optimized builds now available from https://github.com/thecodeshop/ruby/wiki/Downloads

* tcs-ruby193_require_winio_fenix-20111113.7z
* tcs-ruby193_winio_fenix-20111113.7z


== Summary ==

`tcs-ruby193_require_winio_fenix` contains the following mods while
`tcs-ruby193_winio_fenix` removes the sorted $LOADED_FEATURES
optimization.

89d7498 Cherry-pick Dusan's faster winnt_stat commit
db41b46 Apply Yura's sorted $LOADED_FEATURES patch@1727a9
36fc6d0 Apply Luis' fenix integration patch@938d98
f4a8212 Apply Hiroshi's win_io_for_r33699.patch
543ffb1 Backport add77a5 (trunk@33662) to ruby_1_9_3
08cd580 * 2011-11-08 # current ruby_1_9_3


== Usage Notes ==

* use `set RUBYOPT=-rfenix/replace` or similar to enable fenix opts
* use `set RUBY_LOADED_FEATURES_SORTED=0` to disable sorted
$LOADED_FEATURES opts on relevant build


== Benchmark Teaser ==

## Sorted $LOADED_FEATURES but no fenix...

C:\projects\measurements-git>rci bench core_require_empty
tcs-ruby 1.9.3p0 (2011-11-08) [i386-mingw32]
Rehearsal ------------------------------------------------------
core_require_empty 0.734000 3.759000 4.493000 ( 4.664408)
--------------------------------------------- total: 4.493000sec

user system total real
core_require_empty 0.748000 3.697000 4.445000 ( 4.555208)


## Sorted $LOADED_FEATURES and fenix...

C:\projects\measurements-git>set RUBYOPT=-rfenix/replace

C:\projects\measurements-git>rci bench core_require_empty
tcs-ruby 1.9.3p0 (2011-11-08) [i386-mingw32]
Rehearsal ------------------------------------------------------
core_require_empty 0.640000 1.233000 1.873000 ( 1.965604)
--------------------------------------------- total: 1.873000sec

user system total real
core_require_empty 0.483000 1.373000 1.856000 ( 1.950003)


## Fenix but no sorted $LOADED_FEATURES...

C:\projects\measurements-git>set RUBY_LOADED_FEATURES_SORTED=0

C:\projects\measurements-git>rci bench core_require_empty
tcs-ruby 1.9.3p0 (2011-11-08) [i386-mingw32]
Rehearsal ------------------------------------------------------
core_require_empty 0.748000 1.357000 2.105000 ( 2.121603)
--------------------------------------------- total: 2.105000sec

user system total real
core_require_empty 0.593000 1.435000 2.028000 ( 2.090404)



== Build Recipe ==

git co -b build_1_9_3 codeshop/ruby_1_9_3
git rebase sorted-lf/ruby_1_9_3
git rebase fenix/ruby_1_9_3
git rebase winio/ruby_1_9_3
git cherry-pick 9213038
# build tcs-ruby
# make test-all TESTS='openssl fiddle psych zlib' && make test
git reset --hard HEAD~2
git cherry-pick 9213038
# build tcs-ruby without sorted $LOADED_FEATURES patch for those
# not wanting to use `set RUBY_LOADED_FEATURES_SORTED=0`
# make test-all TESTS='openssl fiddle psych zlib' && make test
git co trunk
git br -D build_1_9_3


== Build Notes ==

* Disabling the `Application Experience` service on Win7 appears to
cause build failures by preventing stat's of `conftest.exe`.

* Test failure with `make test-all TESTS='ruby/test_io_m17n.rb'`
likely due to a bad backport cleanup of add77a5:
...
Finished tests in 1.622403s, 84.4426 tests/s, 371.6709 assertions/s.

1) Failure:
test_cr_decorator_on_stdout(TestIO_M17N) [c:/Users/Jon/Documents/
RubyDev/ruby-git/test/ruby/test_io_m17n.rb:2134]:
<"abc\r"> expected but was
<"abc\r\n">.

2) Failure:
test_lf_decorator_on_stdout(TestIO_M17N) [c:/Users/Jon/Documents/
RubyDev/ruby-git/test/ruby/test_io_m17n.rb:2153]:
<"abc\n"> expected but was
<"abc\r\n">.

3) Skipped:
test_stdin_external_encoding_with_reopen(TestIO_M17N) [c:/Users/Jon/
Documents/RubyDev/ruby-git/test/ruby/test_io_m17n.rb:1112]:
passing non-stdio fds is not supported

137 tests, 603 assertions, 2 failures, 0 errors, 1 skips


Jon

---
Fail fast. Fail often. Fail publicly. Learn. Adapt. Repeat.
http://thecodeshop.github.com | http://jonforums.github.com/
twitter: @jonforums

Hiroshi Shirosaki

unread,
Nov 14, 2011, 12:55:41 AM11/14/11
to theco...@googlegroups.com
>  1) Failure:
> test_cr_decorator_on_stdout(TestIO_M17N) [c:/Users/Jon/Documents/
> RubyDev/ruby-git/test/ruby/test_io_m17n.rb:2134]:
> <"abc\r"> expected but was
> <"abc\r\n">.
>
>  2) Failure:
> test_lf_decorator_on_stdout(TestIO_M17N) [c:/Users/Jon/Documents/
> RubyDev/ruby-git/test/ruby/test_io_m17n.rb:2153]:
> <"abc\n"> expected but was
> <"abc\r\n">.
>

Thanks for build report.
I think above test cases would be invalid. newline option such as
"newline: :cr" seems to be supported by commit a1c5ebe.

-------------
commit a1c5ebe7875cd1b59865fe6c2b88c7981a25939d
Author: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date: Tue Sep 6 03:07:16 2011 +0000

* transcode.c: enabled econv newline option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33200 b2dd03c8-39d4-4d8f-9
-------------

ruby_1_9_3 don't have commit a1c5ebe.
I checked test_io_m17n.rb have been passed without failures after
applying commit a1c5ebe.

--
Hiroshi Shirosaki

Jon

unread,
Nov 14, 2011, 9:09:06 PM11/14/11
to TheCodeShop
> ruby_1_9_3 don't have commit a1c5ebe.
> I checked test_io_m17n.rb have been passed without failures after
> applying commit a1c5ebe.

Thank you, and I get the same success as you and have backported
a1c5ebe to https://github.com/thecodeshop/ruby/tree/winio/ruby_1_9_3

Jon

Jarmo Pertman

unread,
Nov 16, 2011, 5:45:09 PM11/16/11
to TheCodeShop
I've benchmarked both of these builds and written about them in my
blog at http://itreallymatters.net/post/12897174267/speedup-ruby-1-9-3-on-windows
too.

tcs-ruby193_require_winio_fenix seems to be the fastest way to go at
the moment.

Jarmo

Jon

unread,
Nov 16, 2011, 5:55:23 PM11/16/11
to TheCodeShop


On Nov 16, 5:45 pm, Jarmo Pertman <jarm...@gmail.com> wrote:
> I've benchmarked both of these builds and written about them in my
> blog athttp://itreallymatters.net/post/12897174267/speedup-ruby-1-9-3-on-win...
> too.
>
> tcs-ruby193_require_winio_fenix seems to be the fastest way to go at
> the moment.
>
> Jarmo

Your blog post looks great...can't wait to read it in detail later
tonight.

Thanks!

Jon

Hiroshi Shirosaki

unread,
Nov 17, 2011, 4:48:42 AM11/17/11
to theco...@googlegroups.com
Here is benchmark of my medium size rails application on rails 2.3.14.
tcs-ruby is very fast!
I have no problems with tcs-ruby so far.

# ruby 1.9.2p312 (2011-08-11 revision 32169) [i386-mingw32]
>w32time ruby script\runner ""
real 78.125
system 44.812
user 32.359

# tcs-ruby193_require_winio_fenix-20111113.7z
>w32time ruby script\runner ""
real 14.562
system 11.468
user 2.218

# tcs-ruby193_require_winio_fenix-20111113.7z
>w32time ruby -rfenix/replace script\runner ""
real 5.156
system 2.140
user 1.921


--
Hiroshi Shirosaki

Reply all
Reply to author
Forward
0 new messages