LoginSignup
19
18

More than 5 years have passed since last update.

プログラミング言語の基本レベルの性能評価

Last updated at Posted at 2016-02-18

Tested on my
iMac (27-inch, Late 2012)
Processor : 3.2 GHz Intel Core i5
Memory : 16 GB 1600 MHz DDR3

Name 数字加計算(100万回) ms 文字列連結(100万回) ms 備考
c 2 10 strcpy
cpp 2 22 std::string.append
string+string leads to no response
go 0.5 13 bytes.Buffer.WriteString
strings.Join spends 80ms+
NOTICE: in fact "go run" waste much time, it can be proved by exec "time go run test.go" on your shell
java 6 6 35 StringBuilder
OBJC 2 45 NSString stringByAppendingString:TIMEOUT
NSMutableString appendFormat:246ms
NSMutableArray componentsJoinedByString:129ms
NSMutableString appendString:63ms
CFMutableStringRef appendString:52ms
CFStringRef[]=>CFArrayRef join appendString:45ms
* the speed under command line & iOS simulator are almost same.
php 5.4 36 56 with APC
./test.php but not php test.php
swift 2.1.1 5 62 swiftc test.swift -o test
./test
nodejs 5.5.0 2 65 str becomes 1.5 times faster than 0.8
scala 2.0 4.5 76 no java.lang.stringBuilder no response!!!
nodejs 0.8.22 2 95
ruby 2.0.0 141 185 str1 << str2 : 185
str+str no response
lua 5.2.1 40 225 table.insert/concat
groovy 2.2.1 239 227 str<<=str2
older version have to use java.StringBuilder?
python 2.7.2 213 247 arr.append->join
pyc has almost a same result
perl 5.12 144 288
ruby 1.8.7(REWROTE) 140 286 arr.join
js/ff22 2 34 (+ on ff is amazing), innerHTML is pretty fast
it does not mean html render is fast either.
js/chrome 2 110
js/safari6 62 112
js/opera12 180 250
19
18
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
18