Ruby
                           Kenta Murata
                2011.02.20 Ruby Workshop Sapporo




2011   2   20                                      1
2011   2   20   2
•        a.k.a @mrkn

           • Ruby
           • Ruby
           •
           •                      SE

           •

2011   2   20                          3
AD



2011   2   20        4
2011
2010   2
       3   20
           1    5
Hokuriku.rb x




2011   2   20      6
Hokuriku.rb x

           • 3 20
           •
           • @igaiga555,         (        )

           • @june29,       (                 )

           • @mrkn,        ← it’s me!!!


2011   2   20                                     7
Ruby
                           Kenta Murata
                2011.02.20 Ruby Workshop Sapporo




2011   2   20                                      8
test-all
       • test-all
       •


       •

2011   2   20                  9
ext/

       • ext/extmk.rb
       • make -j 4             ext

       • extmk.rb       -j n         n




2011   2   20                            10
MacRuby      gem

       • gem list   2

       •
       •


2011   2   20             11
• Oniguruma
       • http://firefly.cr.ie.u-ryukyu.ac.jp/~shinya/xhago/
       • Oniguruma
       • http://twitter.com/#!/yukihiro_matz/status/
                35521472273321984



2011   2   20                                               12
SSL/TLS

       • openssl
       •         GnuTLS   CryptoAPI

       •


2011   2   20                         13
readline6
       • readline6     GPL3

       • ruby
       •             libedit

       • libedit       readline
                     readline


2011   2   20                     14
test-all



2011   2   20              15
Ruby
       • Ruby

       •                 +

       • make test-all


2011   2   20                16
@sora_h



2011   2   20             17
2011   2   20   18
2011   2   20   19
4



2011   2   20       20
2011   2   20   21
2011   2   20   22
test-all

                            disk
                process




2011   2   20                        23
test-all
                             workers




                dispatcher




2011   2   20                                 24
OS      Mac OS X 10.6.6



                CPU   2.66 GHz Intel Core i7



                MEM   8GB 1067 MHz DDR3



2011   2   20                                  25
• non parallel
        • make TESTS=’-v -x fiber ruby’ test-all
       • parallel
        • make TESTS=’-v -j<N> -x fiber ruby’ test-all
        • <N>
        •                    1, 2, 3, 5, 8, 13


2011   2   20                                           26
150.0



                112.5



                 75.0



                 37.5



                   0
                        no -j   -j1   -j2   -j3    -j5   -j8   -j13

                        TOTAL          TESTCASES           TESTS/S


2011   2   20                                                         27
3.00



                2.25



                1.50



                0.75



                  0
                       no -j   -j1   -j2   -j3   -j5   -j8   -j13

                  TOTAL        TESTCASES     TESTS/S     ASSERTIONS/S


2011   2   20                                                           28
• @sora_h   test-all

       •
                              4

       • CPU
       •
2011   2   20                     29
2011   2   20   30
•
       •

       • lib/test/*

2011   2   20         31
2011   2   20   32
ext/

       • ext/extmk.rb
       • make -j 4             ext

       • extmk.rb       -j n         n




2011   2   20                            33
MacRuby      gem

       • gem list   2

       •
       •


2011   2   20             34
• Oniguruma
       • http://firefly.cr.ie.u-ryukyu.ac.jp/~shinya/xhago/
       • Oniguruma
       • http://twitter.com/#!/yukihiro_matz/status/
                35521472273321984



2011   2   20                                               35
SSL/TLS

       • openssl
       •         GnuTLS   CryptoAPI

       •


2011   2   20                         36
readline6
       • readline6     GPL3

       • ruby
       •             libedit

       • libedit       readline
                     readline


2011   2   20                     37
Ruby


2011   2   20          38

Ruby の懸案事項

  • 1.
    Ruby Kenta Murata 2011.02.20 Ruby Workshop Sapporo 2011 2 20 1
  • 2.
    2011 2 20 2
  • 3.
    a.k.a @mrkn • Ruby • Ruby • • SE • 2011 2 20 3
  • 4.
    AD 2011 2 20 4
  • 5.
    2011 2010 2 3 20 1 5
  • 6.
  • 7.
    Hokuriku.rb x • 3 20 • • @igaiga555, ( ) • @june29, ( ) • @mrkn, ← it’s me!!! 2011 2 20 7
  • 8.
    Ruby Kenta Murata 2011.02.20 Ruby Workshop Sapporo 2011 2 20 8
  • 9.
    test-all • test-all • • 2011 2 20 9
  • 10.
    ext/ • ext/extmk.rb • make -j 4 ext • extmk.rb -j n n 2011 2 20 10
  • 11.
    MacRuby gem • gem list 2 • • 2011 2 20 11
  • 12.
    • Oniguruma • http://firefly.cr.ie.u-ryukyu.ac.jp/~shinya/xhago/ • Oniguruma • http://twitter.com/#!/yukihiro_matz/status/ 35521472273321984 2011 2 20 12
  • 13.
    SSL/TLS • openssl • GnuTLS CryptoAPI • 2011 2 20 13
  • 14.
    readline6 • readline6 GPL3 • ruby • libedit • libedit readline readline 2011 2 20 14
  • 15.
  • 16.
    Ruby • Ruby • + • make test-all 2011 2 20 16
  • 17.
  • 18.
    2011 2 20 18
  • 19.
    2011 2 20 19
  • 20.
    4 2011 2 20 20
  • 21.
    2011 2 20 21
  • 22.
    2011 2 20 22
  • 23.
    test-all disk process 2011 2 20 23
  • 24.
    test-all workers dispatcher 2011 2 20 24
  • 25.
    OS Mac OS X 10.6.6 CPU 2.66 GHz Intel Core i7 MEM 8GB 1067 MHz DDR3 2011 2 20 25
  • 26.
    • non parallel • make TESTS=’-v -x fiber ruby’ test-all • parallel • make TESTS=’-v -j<N> -x fiber ruby’ test-all • <N> • 1, 2, 3, 5, 8, 13 2011 2 20 26
  • 27.
    150.0 112.5 75.0 37.5 0 no -j -j1 -j2 -j3 -j5 -j8 -j13 TOTAL TESTCASES TESTS/S 2011 2 20 27
  • 28.
    3.00 2.25 1.50 0.75 0 no -j -j1 -j2 -j3 -j5 -j8 -j13 TOTAL TESTCASES TESTS/S ASSERTIONS/S 2011 2 20 28
  • 29.
    • @sora_h test-all • 4 • CPU • 2011 2 20 29
  • 30.
    2011 2 20 30
  • 31.
    • • lib/test/* 2011 2 20 31
  • 32.
    2011 2 20 32
  • 33.
    ext/ • ext/extmk.rb • make -j 4 ext • extmk.rb -j n n 2011 2 20 33
  • 34.
    MacRuby gem • gem list 2 • • 2011 2 20 34
  • 35.
    • Oniguruma • http://firefly.cr.ie.u-ryukyu.ac.jp/~shinya/xhago/ • Oniguruma • http://twitter.com/#!/yukihiro_matz/status/ 35521472273321984 2011 2 20 35
  • 36.
    SSL/TLS • openssl • GnuTLS CryptoAPI • 2011 2 20 36
  • 37.
    readline6 • readline6 GPL3 • ruby • libedit • libedit readline readline 2011 2 20 37
  • 38.
    Ruby 2011 2 20 38