• Save
文字列結合のベンチマークをいろんな処理系でやってみた
Upcoming SlideShare
Loading in...5
×
 

文字列結合のベンチマークをいろんな処理系でやってみた

on

  • 17,067 views

LL Planets 2011 Lightning Talk

LL Planets 2011 Lightning Talk

Statistics

Views

Total Views
17,067
Views on SlideShare
14,180
Embed Views
2,887

Actions

Likes
12
Downloads
0
Comments
1

20 Embeds 2,887

http://nothingcosmos.blog52.fc2.com 2040
http://jxck.tumblr.com 429
http://blog52.fc2.com 276
http://twitter.com 49
https://twitter.com 43
http://tweetedtimes.com 9
http://webcache.googleusercontent.com 8
http://localhost 6
http://us-w1.rockmelt.com 6
http://www.twylah.com 4
http://www.hanrss.com 4
http://trunk.ly 2
http://strawberryj.am 2
http://a0.twimg.com 2
http://translate.googleusercontent.com 2
https://si0.twimg.com 1
http://nothingcosmos.blog52.fc2blog.net 1
http://s.deeeki.com 1
http://twicli.neocat.jp 1
http://paper.li 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

文字列結合のベンチマークをいろんな処理系でやってみた 文字列結合のベンチマークをいろんな処理系でやってみた Presentation Transcript

  • LL Planet 2011 LT
  • HTML 5 × 20 × 103Mac OS X 10.6, Core2 Duo 2GHzhttp://bit.ly/pNNmGY
  • LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 40000 80000
  • g++ (4.2.6) Java (1.6.0_26) PyPy (1.6.0) LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 40000 80000 120000 160000
  • g++ (4.2.6) Java (1.6.0_26) PyPy (1.6.0) LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 40000 80000 120000 160000 200000 240000 280000 320000
  • g++ (4.2.6) Java (1.6.0_26) PyPy (1.6.0)LuaJIT (2.0.0-b8)PHP (5.3.6)Perl (5.12.1)Lua (5.1.4)Python (3.2.1)Rubinius (1.2.4)Go (6g r57.2)Ruby (1.9.2-p290)
  • Node.js (0.5.4) g++ (4.2.6) Java (1.6.0_26) PyPy (1.6.0) LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 500000 1000000 1500000 2000000
  • 1 2 (Tracing JIT) Node.js 0.5.1
  • Node.js (0.5.4) g++ (4.2.6) Java (1.6.0_26) PyPy (1.5.0-a0) LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 50000 100000 150000 200000 250000
  • Tenjin (node.js) Tenjin (perl) Tenjin (php) Tenjin (ruby)Tenjin (python) 0 10000 20000 30000 40000
  • Node.js (0.5.4) g++ (4.2.6) Java (1.6.0_26) PyPy (1.5.0-a0) LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 50000 100000 150000 200000 250000
  • Node.js (0.5.4) g++ (4.2.6) Java (1.6.0_26) PyPy (1.5.0-a0) LuaJIT (2.0.0-b8) PHP (5.3.6) Perl (5.12.1) Lua (5.1.4) Python (3.2.1) Rubinius (1.2.4) Go (6g r57.2) Ruby (1.9.2-p290)0 50000 100000 150000 200000 250000
  • g++: std::string Java: StringBuilder + toString() Java: StringBuilder w/o toString()0 50000 100000 150000 200000 250000
  • list.append() Python (3.2.1) append() list.extend() extend() extend()+str() buf[-1:] = ()StringIO.write() 0 20000 40000 60000 80000 100000 list.append() PyPy (1.6.0) append() list.extend() extend() extend()+str() buf[-1:] = ()StringIO.write() 0 20000 40000 60000 80000 100000
  • V8 (+ crankshaft)StringBuilder#toString()JIT