Enviar pesquisa
Carregar
文字列結合のベンチマークをいろんな処理系でやってみた
•
15 gostaram
•
6,889 visualizações
K
kwatch
Seguir
LL Planets 2011 Lightning Talk
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 16
Recomendados
Apache Con NA 2013
Apache Con NA 2013
muellerc
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
muellerc
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
muellerc
Beginners guide-concurrency
Beginners guide-concurrency
Michael Barker
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
JAX London
Understanding the Disruptor
Understanding the Disruptor
Trisha Gee
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Jxck Jxck
2014 08-30 life with roslyn
2014 08-30 life with roslyn
shibuki
Recomendados
Apache Con NA 2013
Apache Con NA 2013
muellerc
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
muellerc
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
muellerc
Beginners guide-concurrency
Beginners guide-concurrency
Michael Barker
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
JAX London
Understanding the Disruptor
Understanding the Disruptor
Trisha Gee
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Jxck Jxck
2014 08-30 life with roslyn
2014 08-30 life with roslyn
shibuki
How to make the fastest Router in Python
How to make the fastest Router in Python
kwatch
Migr8.rb チュートリアル
Migr8.rb チュートリアル
kwatch
なんでもID
なんでもID
kwatch
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
kwatch
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
kwatch
【公開終了】Python4PHPer - PHPユーザのためのPython入門 (Python2.5)
【公開終了】Python4PHPer - PHPユーザのためのPython入門 (Python2.5)
kwatch
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
PHPとJavaScriptにおけるオブジェクト指向を比較する
PHPとJavaScriptにおけるオブジェクト指向を比較する
kwatch
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
kwatch
Fantastic DSL in Python
Fantastic DSL in Python
kwatch
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策
kwatch
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
Pretty Good Branch Strategy for Git/Mercurial
Pretty Good Branch Strategy for Git/Mercurial
kwatch
Oktest - a new style testing library for Python -
Oktest - a new style testing library for Python -
kwatch
I have something to say about the buzz word "From Java to Ruby"
I have something to say about the buzz word "From Java to Ruby"
kwatch
Cより速いRubyプログラム
Cより速いRubyプログラム
kwatch
Javaより速いLL用テンプレートエンジン
Javaより速いLL用テンプレートエンジン
kwatch
Underlaying Technology of Modern O/R Mapper
Underlaying Technology of Modern O/R Mapper
kwatch
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Mais conteúdo relacionado
Mais de kwatch
How to make the fastest Router in Python
How to make the fastest Router in Python
kwatch
Migr8.rb チュートリアル
Migr8.rb チュートリアル
kwatch
なんでもID
なんでもID
kwatch
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
kwatch
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
kwatch
【公開終了】Python4PHPer - PHPユーザのためのPython入門 (Python2.5)
【公開終了】Python4PHPer - PHPユーザのためのPython入門 (Python2.5)
kwatch
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
PHPとJavaScriptにおけるオブジェクト指向を比較する
PHPとJavaScriptにおけるオブジェクト指向を比較する
kwatch
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
kwatch
Fantastic DSL in Python
Fantastic DSL in Python
kwatch
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策
kwatch
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
Pretty Good Branch Strategy for Git/Mercurial
Pretty Good Branch Strategy for Git/Mercurial
kwatch
Oktest - a new style testing library for Python -
Oktest - a new style testing library for Python -
kwatch
I have something to say about the buzz word "From Java to Ruby"
I have something to say about the buzz word "From Java to Ruby"
kwatch
Cより速いRubyプログラム
Cより速いRubyプログラム
kwatch
Javaより速いLL用テンプレートエンジン
Javaより速いLL用テンプレートエンジン
kwatch
Underlaying Technology of Modern O/R Mapper
Underlaying Technology of Modern O/R Mapper
kwatch
Mais de kwatch
(20)
How to make the fastest Router in Python
How to make the fastest Router in Python
Migr8.rb チュートリアル
Migr8.rb チュートリアル
なんでもID
なんでもID
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
【公開終了】Python4PHPer - PHPユーザのためのPython入門 (Python2.5)
【公開終了】Python4PHPer - PHPユーザのためのPython入門 (Python2.5)
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
PHPとJavaScriptにおけるオブジェクト指向を比較する
PHPとJavaScriptにおけるオブジェクト指向を比較する
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
Fantastic DSL in Python
Fantastic DSL in Python
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
Pretty Good Branch Strategy for Git/Mercurial
Pretty Good Branch Strategy for Git/Mercurial
Oktest - a new style testing library for Python -
Oktest - a new style testing library for Python -
I have something to say about the buzz word "From Java to Ruby"
I have something to say about the buzz word "From Java to Ruby"
Cより速いRubyプログラム
Cより速いRubyプログラム
Javaより速いLL用テンプレートエンジン
Javaより速いLL用テンプレートエンジン
Underlaying Technology of Modern O/R Mapper
Underlaying Technology of Modern O/R Mapper
Último
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Angeliki Cooney
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
danishmna97
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Orbitshub
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Sandro Moreira
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
The Digital Insurer
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
MadyBayot
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Último
(20)
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Architecting Cloud Native Applications
Architecting Cloud Native Applications
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
文字列結合のベンチマークをいろんな処理系でやってみた
1.
LL Planet 2011
LT
2.
HTML
5 × 20 × 10 3 Mac OS X 10.6, Core2 Duo 2GHz http://bit.ly/pNNmGY
3.
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
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 40000 80000 120000 160000
5.
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
6.
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)
7.
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
8.
1
2 (Tracing JIT) Node.js 0.5.1
9.
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
10.
Tenjin (node.js)
Tenjin (perl) Tenjin (php) Tenjin (ruby) Tenjin (python) 0 10000 20000 30000 40000
11.
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
12.
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
13.
g++: std::string
Java: StringBuilder + toString() Java: StringBuilder w/o toString() 0 50000 100000 150000 200000 250000
14.
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
15.
V8 (+ crankshaft) StringBuilder#toString() JIT