View difference between Paste ID: jhEpUqU5 and v9YJWK7a
SHOW: | | - or go back to the newest paste.
1
// Script assets have changed for v2.3.0 see
2
// https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information
3
function Performance(numloops) {
4
	gml_pragma("forceinline"); 
5
	gml_pragma("UnityBuild", "true");
6
	gml_release_mode(true); 
7
	randomize();
8
9
	var __numLoops = numloops;
10
	var __i = 0;
11
	var __strOut = ""
12
13
	__strOut += "\n##### ARRAY #####\n\n"
14
	////////////////////////////////////////////
15
	// Array Uninitialized
16
	var __label = "FILLING ARRAY (UNINITIALIZED)";
17
	var __arr1 = [];
18
	var __start = get_timer();
19
20
	for (__i = 0; __i < __numLoops; __i++) {
21
	  __arr1[ __i ] = random(10000);
22
	}
23
24
	var __end = get_timer();
25
	var __result = (__end - __start)
26
	__strOut += __label + ": " + string(__result) + "\n"
27
	
28
	////////////////////////////////////////////
29
	// Array Initialized
30
	var __label = "FILLING ARRAY (INITIALIZED)";
31
	var __arr2 = array_create(__numLoops);
32
	var __start = get_timer();
33
34
	for (__i = 0; __i < __numLoops; __i++) {
35
	  __arr2[ __i ] = random(10000);
36
	}
37
38
	var __end = get_timer();
39
	var __result = (__end - __start)
40
	__strOut += __label + ": " + string(__result) + "\n"
41
	
42
	////////////////////////////////////////////
43
	// Array Read
44
	var __label = "READING ARRAY";
45
	var __dummy;
46
	var __start = get_timer();
47
48
	for (__i = 0; __i < __numLoops; __i++) {
49
	  __dummy = __arr2[ __i ]
50
	}
51
52
	var __end = get_timer();
53
	var __result = (__end - __start)
54
	__strOut += __label + ": " + string(__result) + "\n"
55
	
56
	////////////////////////////////////////////
57
	// List fill (UNINITIALIZED)
58
	__strOut += "\n##### LIST #####\n\n"
59
	
60
	var __label = "FILLING LIST (UNINITIALIZED)";
61
	var __ls1 = ds_list_create();
62
	var __start = get_timer();
63
64
	for (__i = 0; __i < __numLoops; __i++) {
65
	  __ls1[| __i] = random(10000)
66
	}
67
68
	var __end = get_timer();
69
	var __result = (__end - __start)
70
	__strOut += __label + ": " + string(__result) + "\n"
71
	
72
	////////////////////////////////////////////
73
	// List fill (BACKWARDS)
74
	
75
	var __label = "FILLING LIST (INITIALIZED)";
76
	var __ls2 = ds_list_create();
77
	var __start = get_timer();
78
79
	for (__i = __numLoops - 1; __i >= 0; __i--) {
80
	  __ls2[| __i] = random(10000)
81
	}
82
	var __end = get_timer();
83
	var __result = (__end - __start)
84
	__strOut += __label + ": " + string(__result) + "\n"
85
	
86
	////////////////////////////////////////////
87
	// List Read
88
	var __label = "READING LIST";
89
	var __dummy;
90
	var __start = get_timer();
91
92
	for (__i = 0; __i < __numLoops; __i++) {
93
	  __dummy = __ls1[| __i]
94
	}
95
96
	var __end = get_timer();
97
	var __result = (__end - __start)
98
	__strOut += __label + ": " + string(__result) + "\n"
99
	
100
	////////////////////////////////////////////
101
	// Grid Fill
102
	__strOut += "\n##### GRID #####\n\n"
103
	
104
	var __label = "FILLING GRID";
105
	var __gr = ds_grid_create(1, __numLoops)
106
	var __start = get_timer();
107
108
	for (__i = 0; __i < __numLoops; __i++) {
109
	  ds_grid_set(__gr, 0, __i, random(10000))
110
	}
111
112
	var __end = get_timer();
113
	var __result = (__end - __start)
114
	__strOut += __label + ": " + string(__result) + "\n"	
115
116
	////////////////////////////////////////////
117
	// Grid Read
118
	var __label = "READING GRID";
119
	var __dummy;
120
	var __start = get_timer();
121
122
	for (__i = 0; __i < __numLoops; __i++) {
123
	  __dummy = __gr[# 0, __i]
124
	}
125
126
	var __end = get_timer();
127
	var __result = (__end - __start)
128
	__strOut += __label + ": " + string(__result) + "\n"
129
	
130
	////////////////////////////////////////////
131
	// Map Fill
132
	__strOut += "\n##### MAP #####\n\n"
133
	
134
	var __label = "FILLING MAP";
135
	var __mp = ds_map_create()
136
	var __start = get_timer();
137
138
	for (__i = 0; __i < __numLoops; __i++) {
139
	  ds_map_add(__mp, __i, random(10000))
140
	}
141
142
	var __end = get_timer();
143
	var __result = (__end - __start)
144
	__strOut += __label + ": " + string(__result) + "\n"
145
	
146
	////////////////////////////////////////////
147
	// Map Read
148
	
149
	var __label = "READING MAP";
150
	var __dummy;
151
	var __mp = ds_map_create();
152
	var __start = get_timer();
153
154
	for (__i = 0; __i < __numLoops; __i++) {
155
	  __dummy = __mp[? __i]
156
	}
157
158
	var __end = get_timer();
159
	var __result = (__end - __start)
160
	__strOut += __label + ": " + string(__result) + "\n"	
161
	
162
	show_message(__strOut);
163
}