public void Setup() { var random = new Random(); data = new MyClass[N]; for (int i = 0; i < N; ++i) { data[i] = MyClass.Generate(random, N * 10, 25); } // Compile order methods List <SortBy> sortBys = new List <SortBy> { new SortBy { PropName = "IntProp2", Ascending = true }, new SortBy { PropName = "StrProp1", Ascending = false } }; Func <MyClass, MyClass, int> sortMyClass = SortFuncCompiler.MakeSortFunc <MyClass>(sortBys); linqComparer = new MyComparer <MyClass>(sortMyClass); nativeComparer = new MyComparer <MyClass>(Sorters.SortOneIntOneStrHC); }
public void Setup() { var random = new Random(); data = new MyClass[N]; for (int i = 0; i < N; ++i) { data[i] = MyClass.Generate(random, N * 10, 25); } List <SortBy> sortBys = new List <SortBy> { new SortBy { PropName = "IntProp2", Ascending = true }, new SortBy { PropName = "StrProp1", Ascending = false } }; Func <MyClass, MyClass, int> generatedSortFunc = SortFuncCompiler.MakeSortFunc <MyClass>(sortBys); //Func<MyClass, MyClass, int> generatedSortFunc = SortFuncCompilerFEC.MakeSortFunc<MyClass>(sortBys); GeneratedComparer = new MyComparer <MyClass>(generatedSortFunc); HandcodedComparer = new MyComparer <MyClass>(SortOneIntOneStrHC); }