Пример #1
0
        public void CompareCreationTime()
        {
            var timer = new Stopwatch();

            timer.Start();
            for (int i = 0; i < 10_000; i++)
            {
                var set = ImmutableHashSet <int> .Empty;
                for (int j = 0; j < 64; j++)
                {
                    set = set.Add(j);
                }
            }
            timer.Stop();
            double time1 = timer.Elapsed.TotalMilliseconds;

            timer.Restart();
            for (int i = 0; i < 10_000; i++)
            {
                var set = new ImmutableSet64();
                for (int j = 0; j < 64; j++)
                {
                    set = set.Add(j);
                }
            }
            timer.Stop();
            double time2 = timer.Elapsed.TotalMilliseconds;

            var ratio = time1 / time2;

            time2.Should().BeLessThan(time1);
        }
        public void BeImmutable()
        {
            var seta = new ImmutableSet64().Add(3, 12);
            var setb = seta.Add(10);

            seta.Contains(10).Should().BeFalse();
            setb.Contains(10).Should().BeTrue();
            setb.Contains(3).Should().BeTrue();
        }