xamarin-macios/tests/perftest
Rolf Bjarne Kvinge 36af029204
Change all null checking expressions to use 'is' and 'is not'. (#18176)
Change all null checking expressions to use 'is null' and 'is not null'
instead of '== null' and '!= null'.

This was mostly done with sed, so code can probably be improved in many
other ways with manual inspection, but that will come over time.

Also add code to the autoformat script to automatically fix these issues in the future.
2023-05-05 17:52:19 +02:00
..
Assets.xcassets [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
dotnet Change all null checking expressions to use 'is' and 'is not'. (#18176) 2023-05-05 17:52:19 +02:00
legacy [corefoundation] Optimize `CFArray` (#12740) 2021-09-16 08:39:16 +02:00
.gitignore [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
AppDelegate.cs [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
Entitlements.plist [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
Info.plist [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
Main.cs [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
Main.storyboard [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
Makefile Make our local .NET the default .NET for the build. (#15086) 2022-06-07 10:11:02 +02:00
ManagedRuntime.cs [tests] Add perf test for calling Marshal.AllocHGlobal/FreeHGlobal. (#12696) 2021-09-13 16:14:37 +02:00
MessageSend.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
Messaging.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
NativeArrayPerf.cs [autoformat] Add all of tests/. (#16857) 2022-12-05 08:23:34 +01:00
ObjCBridge.cs [autoformat] Add all of tests/. (#16857) 2022-12-05 08:23:34 +01:00
ObjectCreation.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
README.md [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
TollFreeBridge.cs [autoformat] Add all of tests/. (#16857) 2022-12-05 08:23:34 +01:00
ViewController.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
ViewController.designer.cs [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00
perftest.sln [tests] Add a performance test using BenchmarkDotNet. (#11298) 2021-04-23 13:29:06 +02:00

README.md

Benchmarks

This folder contains a test suite to test performance in Xamarin.iOS/Xamarin.Mac.

There are three variations of the test suite:

  • Legacy mode (Xamarin).

  • .NET Mode (Mono): runs tests in .NET, with MonoVM.

  • .NET Mode (CoreCLR): runs tests using .NET, with CoreCLR.

Running the benchmarks

Run all three variations of the test suite:

make run-perftest

Run each variation:

Legacy mode

make run-perftest-with-legacy

.NET Mode (Mono)

make run-perftest-with-mono

.NET Mode (CoreCLR)

make run-perftest-with-coreclr

Results

At the end of the test run, something like this will be printed:

Log files were stored in xamarin-macios/tests/perftest/output/2021-04-22--21:43:28

and that's where you'll find log files. Console output from the executable is stored as perflog-[timestamp].log, while BenchmarkDotNet results are exported to the results/ subfolder (in json, markdown, csv and html formats).

There's no easy way to compare results across variations or runs (yet), the exported results will have to be examined by a human and compared that way.