static int Main ()
	{
		Blah a = new Blah ("abc", 1);
		Blah b = new Blah ("ab" + 'c', 1);
		long start, end;
		start = Environment.TickCount;

		start = Environment.TickCount;
		for (int i = 0; i < 1000000; i++)
			a.GetHashCode ();
		end = Environment.TickCount;
		Console.WriteLine ("struct common GetHashCode(): {0}", end-start);

		start = Environment.TickCount;
		for (int i = 0; i < 1000000; i++)
			a.Equals (b);
		end = Environment.TickCount;
		Console.WriteLine ("struct common Equals(): {0}", end-start);

		Blah2 a2 = new Blah2 ("abc", 1);
		Blah2 b2 = new Blah2 ("abc", 1);
		start = Environment.TickCount;
		for (int i = 0; i < 1000000; i++)
			a2.GetHashCode ();
		end = Environment.TickCount;
		Console.WriteLine ("struct specific GetHashCode(): {0}", end-start);

		start = Environment.TickCount;
		for (int i = 0; i < 1000000; i++)
			a2.Equals (b2);
		end = Environment.TickCount;
		Console.WriteLine ("struct specific Equals(): {0}", end-start);

		return 0;
	}
    static int Main()
    {
        Blah a = new Blah("abc", 1);
        Blah b = new Blah("ab" + 'c', 1);
        long start, end;

        start = Environment.TickCount;

        start = Environment.TickCount;
        for (int i = 0; i < 1000000; i++)
        {
            a.GetHashCode();
        }
        end = Environment.TickCount;
        Console.WriteLine("struct common GetHashCode(): {0}", end - start);

        start = Environment.TickCount;
        for (int i = 0; i < 1000000; i++)
        {
            a.Equals(b);
        }
        end = Environment.TickCount;
        Console.WriteLine("struct common Equals(): {0}", end - start);

        Blah2 a2 = new Blah2("abc", 1);
        Blah2 b2 = new Blah2("abc", 1);

        start = Environment.TickCount;
        for (int i = 0; i < 1000000; i++)
        {
            a2.GetHashCode();
        }
        end = Environment.TickCount;
        Console.WriteLine("struct specific GetHashCode(): {0}", end - start);

        start = Environment.TickCount;
        for (int i = 0; i < 1000000; i++)
        {
            a2.Equals(b2);
        }
        end = Environment.TickCount;
        Console.WriteLine("struct specific Equals(): {0}", end - start);

        return(0);
    }