public void CombinedTest()
        {
            var    slot = Thread.AllocateDataSlot();
            object o;

            int ic = IterationCount;

            using (new Measurement("Instance field", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    o = InstanceField;
                }
            using (new Measurement("Volatile instance field", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    o = VolatileInstanceField;
                }
            using (new Measurement("Static field", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    o = StaticField;
                }

            Host host = new Host();

            using (new Measurement("Static field of Host", MeasurementOptions.Log, ic))
                host.GetStaticField(ic);

            host = new Host <int>();
            using (new Measurement("Static field of Host<int>", MeasurementOptions.Log, ic))
                host.GetStaticField(ic);

            host = new Host <Array>();
            using (new Measurement("Static field of Host<Array>", MeasurementOptions.Log, ic))
                host.GetStaticField(ic);

            ic /= 100;
            using (new Measurement("ThreadStatic field", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    o = ThreadStaticFieldAsync.Value;
                }

            ThreadData <FieldTypeTest> .Initiialize();

            ThreadData <FieldTypeTest> .Set(this);

            using (new Measurement("Own ThreadData", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    o = ThreadData <FieldTypeTest> .Get();
                }
            byte[] bytes;
            int    length = 128;

            using (new Measurement("new byte[128]", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    bytes    = new byte[length];
                    bytes[0] = (byte)i;
                }
            ic /= 10;
            using (new Measurement("Thread data slot", MeasurementOptions.Log, ic))
                for (int i = 0; i < ic; i++)
                {
                    o = Thread.GetData(slot);
                }
        }