ハッシュの速さ

昨日速度を調べたのは、D言語と比較したかったから。
D言語についてはこのあたりから。


http://www.kmonos.net/alang/wnd/


D言語のハッシュは、


int[int] a;

のように宣言して、


a[1] = 2;

のように非常に自然に扱える。
が、速度を比較するとやっぱり遅い。

2分木もあったほうがいいような気がする。


import std.cstream;
import std.random;
import std.date;

const int n = 16384;

void main() {
d_time t0 = getUTCtime();

int[int] m;
for(int i = 0; i < n; i++)
m[i] = (i + 1) % n;

int r = 0;
for(int i = 0; i < 10000000; i++) {
r = m[r];
}

d_time t1 = getUTCtime();

dout.writefln(r);
dout.writefln(t1 - t0, "ms");
}