プログラミング言語別速度比較【自分用】

自身が日頃お世話になっている言語別に様々な処理の比較を行う実験的記事です。

Python

言語別比較

a = 0

for i in range(0, 100000000):
  a += i

# real    0m6.643s
# user    0m6.636s
# sys     0m0.010s

ループ処理

a = []

for i in range(100000000):
  a.append(i*2)

# real    0m10.467s
# user    0m9.780s
# sys     0m0.691s

a = [i*2 for i in range(100000000)]

# real    0m5.534s
# user    0m4.755s
# sys     0m0.780s

内包表記、脅威。

Ruby

言語別比較

a = 0

for i in (0..100000000).to_a do
  a += i
end

# real    0m4.847s
# user    0m4.703s
# sys     0m0.147s

Node.js

言語別比較

var a = 0

for (var i = 0; i < 100000000; i++) {
  a += i
}

// real    0m0.133s
// user    0m0.120s
// sys     0m0.013s

ちょっとズルっぽいけど速い・・・

Go

言語別比較

package main

import (
  "fmt"
)

func main() {
  a := 0
  for i := 0; i < 100000000; i++ {
    a += i
  }
}

// real    0m0.344s
// user    0m0.131s
// sys     0m0.034s

C

言語別比較

#include <stdio.h>

int main(void) {
  double a = 0;
  for(int i = 0; i < 100000000; i++) {
    a += i;
  }
  return 0;
}

// real    0m0.208s
// user    0m0.204s
// sys     0m0.004s