Esempio n. 1
0
        private static ThroughputTestResult RunExtremeCompiledInpcObs()
        {
            var count  = 0;
            var person = new PersonOpt();

            using (person.OnPropertyChangesCompiled(p => p.Age)
                   .Subscribe(newAge => count = newAge))
            {
                var result = new ThroughputTestResult(1, MessageCount);
                for (int i = 0; i < MessageCount; i++)
                {
                    person.Age = i;
                }
                result.Dispose();
                return(result);
            }
        }
Esempio n. 2
0
        private static ThroughputTestResult RunUnitInpcObs()
        {
            var count  = 0;
            var person = new PersonOpt();

            using (person.ToObservable()
                   .Select(_ => Unit.Default)
                   .Subscribe(newAge => count++))
            {
                var result = new ThroughputTestResult(1, MessageCount);
                for (int i = 0; i < MessageCount; i++)
                {
                    person.Age = i;
                }
                result.Dispose();
                return(result);
            }
        }
Esempio n. 3
0
        private static ThroughputTestResult RunOptInpcEvt()
        {
            var count  = 0;
            var person = new PersonOpt();

            PropertyChangedEventHandler handler = (s, e) =>
            {
                if (e.PropertyName == "Age")
                {
                    count = person.Age;
                }
            };

            person.PropertyChanged += handler;
            var result = new ThroughputTestResult(1, MessageCount);

            for (int i = 0; i < MessageCount; i++)
            {
                person.Age = i;
            }
            result.Dispose();
            person.PropertyChanged -= handler;
            return(result);
        }