public void Test() { UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Array, resize"); { GameObject[] arrayGO = new GameObject[numIterations]; //System.Array.Resize(ref arrayGO, numIterations); for (int i = 0; i < numIterations; i++) { arrayGO[i] = goTests[i]; } } UnityEngine.Profiling.Profiler.EndSample(); // LISTS UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : List, resize"); { List <GameObject> listGO = new List <GameObject>(numIterations); for (int i = 0; i < numIterations; i++) { listGO.Add(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : List"); { List <GameObject> listGO = new List <GameObject>(); for (int i = 0; i < numIterations; i++) { listGO.Add(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); // ARRAYLIST UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : ArrayList, resize"); { ArrayList listGO = new ArrayList(numIterations); for (int i = 0; i < numIterations; i++) { listGO.Add(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : ArrayList"); { ArrayList listGO = new ArrayList(); for (int i = 0; i < numIterations; i++) { listGO.Add(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); // HASHSET UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : HashSet"); { HashSet <GameObject> hashset = new HashSet <GameObject>(); for (int i = 0; i < numIterations; i++) { hashset.Add(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Dictionary"); { Dictionary <GameObject, int> dict = new Dictionary <GameObject, int>(); for (int i = 0; i < numIterations; i++) { dict[goTests[i]] = i; } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Dictionary, resize"); { Dictionary <GameObject, int> dict = new Dictionary <GameObject, int>(numIterations); for (int i = 0; i < numIterations; i++) { dict[goTests[i]] = i; } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Stack"); { Stack <GameObject> stack = new Stack <GameObject>(); for (int i = 0; i < numIterations; i++) { stack.Push(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Stack, resize"); { Stack <GameObject> stack = new Stack <GameObject>(numIterations); for (int i = 0; i < numIterations; i++) { stack.Push(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Queue"); { Queue <GameObject> q = new Queue <GameObject>(); for (int i = 0; i < numIterations; i++) { q.Enqueue(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : Queue, resize"); { Queue <GameObject> q = new Queue <GameObject>(numIterations); for (int i = 0; i < numIterations; i++) { q.Enqueue(goTests[i]); } } UnityEngine.Profiling.Profiler.EndSample(); //NEW // Generic FastList UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : FastList<T>, resize"); FastList <GameObject> abListGOResized = new FastList <GameObject>(numIterations); for (int i = 0; i < numIterations; i++) { abListGOResized.Add(goTests[i]); } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : FastList<T>"); FastList <GameObject> abListGO = new FastList <GameObject>(); for (int i = 0; i < numIterations; i++) { abListGO.Add(goTests[i]); } UnityEngine.Profiling.Profiler.EndSample(); // Specialized FastList UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : FastListGO, resize"); FastListGO fastListGOResized = new FastListGO(numIterations); for (int i = 0; i < numIterations; i++) { fastListGOResized.Add(goTests[i]); } UnityEngine.Profiling.Profiler.EndSample(); UnityEngine.Profiling.Profiler.BeginSample("Collection (add, GameObject) : FastListGO"); FastListGO fastListGO = new FastListGO(); for (int i = 0; i < numIterations; i++) { fastListGO.Add(goTests[i]); } UnityEngine.Profiling.Profiler.EndSample(); }