File: gc-copy-stress.cs

package info (click to toggle)
mono 4.6.2.7%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 778,148 kB
  • ctags: 914,052
  • sloc: cs: 5,779,509; xml: 2,773,713; ansic: 432,645; sh: 14,749; makefile: 12,361; perl: 2,488; python: 1,434; cpp: 849; asm: 531; sql: 95; sed: 16; php: 1
file content (35 lines) | stat: -rw-r--r-- 685 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;

class T {
	
	static int count = 1000000;
	static int loops = 20;
	static int persist_factor = 10;

	static object obj;

	static object[] persist;
	static int persist_idx;

	static void work () {
		persist = new object[count / persist_factor + 1];
		persist_idx = 0;
		for (int i = 0; i < count; ++i) {
			obj = new object ();
			if (i % persist_factor == 0)
				persist[persist_idx++] = obj;
		}
	}

	static void Main (string[] args) {
		if (args.Length > 0)
			loops = int.Parse (args [0]);
		if (args.Length > 1)
			count = int.Parse (args [1]);
		if (args.Length > 2)
			persist_factor = int.Parse (args [2]);
		for (int i = 0; i < loops; ++i) {
			work ();
		}
	}
}