1
+ <!DOCTYPE HTML>
2
+ < html >
3
+ < head >
4
+ < title > Programming Language benchmarks|soyoes.github.io</ title >
5
+ < meta http-equiv ="Content-Type " content ="text/html; charset=utf-8 ">
6
+ < meta name ="apple-mobile-web-app-capable " content ="yes ">
7
+ < meta name ="viewport " content ="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no ">
8
+ < meta name ="description " content ="programming language speed benchmarks for c cpp go java objc(objective-c) nodejs scala lua perl ruby python groovy and js(javascript) ">
9
+ < link rel ="apple-touch-startup-image " href ="">
10
+ < link rel ="apple-touch-icon " href ="">
11
+ < link rel ="stylesheet " href ="css/style.css " type ="text/css " />
12
+ < script src ="//liberjs.org/liber.js "> </ script >
13
+ < script src ="js/views.js "> </ script >
14
+ </ head >
15
+ < body >
16
+
17
+ < table >
18
+ < tr >
19
+ < th > Language </ th >
20
+ < th > int< br > (1..1,000,000) </ th >
21
+ < th > strcat< br > (1000000 times) </ th >
22
+ < th > </ th >
23
+ </ tr >
24
+ < tr > < td > c</ td > < td > 2</ td > < td > 10</ td > < td > strcpy</ td > </ tr >
25
+ < tr > < td > cpp</ td > < td > 2</ td > < td > 22</ td > < td > std::string.append< br > string+string leads no response</ td > </ tr >
26
+ < tr > < td > go</ td > < td > 0.5</ td > < td > 13</ td > < td > bytes.Buffer.WriteString< br > strings.Join cost 80ms+< br > NOTICE: in fact "go run" cost much time, it can be proved by exec "time go run test.go" on your shell </ td > </ tr >
27
+
28
+ < tr > < td > java 6</ td > < td > 6</ td > < td > 35</ td > < td > StringBuilder</ td > </ tr >
29
+ < tr > < td > OBJC(iOS Simulator)</ td > < td > 2</ td > < td > 45</ td > < td >
30
+ NSString stringByAppendingString:TIMEOUT< br >
31
+ NSMutableString appendFormat:246ms < br >
32
+ NSMutableArray componentsJoinedByString:129ms < br >
33
+ NSMutableString appendString:63ms < br >
34
+ CFMutableStringRef appendString:52ms < br >
35
+ CFStringRef[]=> CFArrayRef join appendString:45ms</ td > </ tr >
36
+
37
+ < tr > < td > php 5.4</ td > < td > 36</ td > < td > 56</ td > < td > with APC< br > ./test.php but not php test.php</ td > </ tr >
38
+ < tr > < td > scala 2.0</ td > < td > 4.5</ td > < td > 76</ td > < td > no java.lang.stringBuilder no response!!!</ td > </ tr >
39
+ < tr > < td > nodejs 0.8.22</ td > < td > 2</ td > < td > 95</ td > < td > </ td > </ tr >
40
+ < tr > < td > lua 5.2.1</ td > < td > 40</ td > < td > 225</ td > < td > table.insert/concat</ td > </ tr >
41
+ < tr > < td > groovy 2.2.1</ td > < td > 239</ td > < td > 227</ td > < td > str< < =str2< br > older version have to use java.StringBuilder?</ td > </ tr >
42
+ < tr > < td > python 2.7.2</ td > < td > 213</ td > < td > 247</ td > < td > arr.append-> join< br > pyc has a same result</ td > </ tr >
43
+ < tr > < td > perl 5.12</ td > < td > 144</ td > < td > 288</ td > < td > </ td > </ tr >
44
+ < tr > < td > ruby 1.8.7(REWROTE)</ td > < td > 140</ td > < td > 286</ td > < td > arr.join</ td > </ tr >
45
+ < tr > < td > ruby 2.0.0</ td > < td > 141</ td > < td > 438</ td > < td > (arr.join)< br > str+str no response</ td > </ tr >
46
+
47
+ < tr > < td > js/ff22</ td > < td > 2</ td > < td > 34</ td > < td > (+ on ff is amazing), innerHTML is pretty fast< br > it does not mean html render is fast either.</ td > </ tr >
48
+ < tr > < td > js/chrome</ td > < td > 2</ td > < td > 110</ td > < td > </ td > </ tr >
49
+ < tr > < td > js/safari6</ td > < td > 62</ td > < td > 112</ td > < td > </ td > </ tr >
50
+ < tr > < td > js/opera12</ td > < td > 180</ td > < td > 250</ td > < td > </ td > </ tr >
51
+ </ table >
52
+
53
+ </ body >
54
+ </ html >
0 commit comments