]> git.llucax.com Git - software/dgc/dgcbench.git/blob - micro/rnd_data_2.d
545d588e17085360beac4caa9bc335485f8fd66f
[software/dgc/dgcbench.git] / micro / rnd_data_2.d
1 // Written by Kevin Bealer <kevinbealer@gmail.com>
2 // Found at http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=6978
3 // Sightly modified by Leandro Lucarella <llucax@gmail.com>
4 // (changed not to print anything and lower the total iterations; ported to
5 // Tango)
6
7 // Total residency should be ~160 MiB, but it usually increases a lot because
8 // of false positives (probably in the static memory area)
9
10 import tango.math.random.Random;
11
12 const N = 2_000_000;
13 const L = 20;
14 const I = 50; // original: 200
15
16 int main(char[][] args)
17 {
18      int[][] stuff;
19
20      stuff.length = L;
21
22      auto rand = new Random();
23
24      for(int i = 0; i < I; i++) {
25          int[] arr = new int[N];
26
27          for(int j = 0; j < arr.length; j++) {
28              rand(arr[j]);
29          }
30
31          int zig = i;
32          if (zig >= stuff.length)
33              zig = rand.uniform!(int) % stuff.length;
34
35          stuff[zig] = arr;
36      }
37
38      return 0;
39 }
40