コード例 #1
0
        public void CloneCollectionPerformance()
        {
            var c = new Collection <IItemInstance>(16);

            BenchmarkUtility.Profile("Clone collection of 16", 10000, () =>
            {
                var clone = c.Clone();
            });
        }
コード例 #2
0
        public void SimulationCollectionTest()
        {
            var c = new Collection <IItemInstance>(16);

            BenchmarkUtility.Profile("Simulation collection of size 16", 10000, () =>
            {
                using (new CollectionSimulation <Collection <IItemInstance> >(c))
                {
                    // Do something...
                }
            });
        }
コード例 #3
0
        public void GetCanAddAmountTest()
        {
            var itemDef = new ItemDefinition(Guid.NewGuid())
            {
                maxStackSize = 50
            };
            var item = new ItemInstance(Guid.NewGuid(), itemDef);

            var c = new Collection <IItemInstance>(16);

            BenchmarkUtility.Profile("Simulation collection of size 16", 10000, () =>
            {
                var amount = c.GetCanAddAmount(item);
            });
        }
コード例 #4
0
        public void AddItemToCollectionPerformance()
        {
            var itemDef = new ItemDefinition(Guid.NewGuid())
            {
                maxStackSize = 999
            };
            var item = new ItemInstance(Guid.NewGuid(), itemDef);

            var c = new LayoutCollection <IItemInstance>(16, 4);

            BenchmarkUtility.Profile("Add item to collection of 4x4", 10000, () =>
            {
                var added = c.Add((IItemInstance)item.Clone(), 1);
            });
        }
コード例 #5
0
        public void RemoveItemFromCollectionTest()
        {
            var itemDef = new ItemDefinition(Guid.NewGuid())
            {
                maxStackSize = 999
            };
            var item = new ItemInstance(Guid.NewGuid(), itemDef);

            var c = new Collection <IItemInstance>(16);

            c.Add(item, 10000);

            BenchmarkUtility.Profile("Remove item to collection of 16", 10000, () =>
            {
                var removed = c.Remove(item, 1);
            });
        }
コード例 #6
0
        public void AddItemToCollectionPerformance()
        {
            var itemDef = new ItemDefinition(Guid.NewGuid())
            {
                maxStackSize = 999
            };
            var item = new ItemInstance(Guid.NewGuid(), itemDef);
            var c    = new Collection <IItemInstance>(16, new NullLogger());

            var items = new IItemInstance[10001];

            for (int j = 0; j < items.Length; j++)
            {
                items[j] = (IItemInstance)item.Clone();
            }

            int i = 0;

            BenchmarkUtility.Profile("Add item to collection of 16", 10000, () =>
            {
                var added = c.Add(items[i++], 1);
            });
        }
コード例 #7
0
ファイル: ItemBenchmarks.cs プロジェクト: wesleywh/Rucksack
        public void ConvertItemDefinitionsToItemBenchmark()
        {
            var def1 = new ItemDefinition(Guid.NewGuid())
            {
                maxStackSize = 3
            };
            var def2 = new ItemDefinition(Guid.NewGuid())
            {
                layoutShape = new ComplexShape2D(new bool[, ] {
                    { true, true }, { true, false }
                })
            };
            var def3 = new ItemDefinition(Guid.NewGuid())
            {
                maxStackSize = 5
            };

            var arr = new[] { def1, def2, def3 };

            BenchmarkUtility.Profile("Convert 3 items from ItemDefinition into item instances.", 10000, () =>
            {
                var instances = arr.ToItemInstances <ItemInstance>().ToArray();
            });
        }