- An OS-agnostic C# console application that displays system specifications and lets you run various benchmarks.
- This program tests different aspects of your system, including CPU, memory, and I/O performance.
- It retrieves detailed CPU, RAM, and GPU specifications and offers the following benchmarks:
- A Hashing benchmark with MD5, SHA256 and SHA512.
- An intensive CPU benchmark that computes prime numbers
- An intensive CPU workload that involves Matrix multiplication.
- A large dataset encryption/decryption benchmark (May need admin privileges).
- Using
BenchmarkDotNet
,SharpDX
,NvAPIWrapper
andHardware.info
- ๐ข Integer Performance โ Prime number computation.
- ๐งฎ Floating-Point Performance โ Matrix multiplication.
- ๐ Cryptographic Performance โ AES encryption and hashing.
- ๐พ Memory Performance โ 16GB dataset encryption operation.
- โก Multithreading & Parallelism โ Parallelized workloads.
- Install
.NET 9 SDK
fromhere
- Install
.Net 9.0.0 Runtime
fromhere
- Open the solution in your favourite IDE and set "Benchmark" as the startup project.
- Run the benchmark in
Release
mode. - Check your if system specs is correct
Y
to continue- Select which benchmarks to run
- For
VSCode
you will need to install theC#
extention for vscode - For
VSCode
you also need to createlaunch.JSON
andtask.JSON
files if you want to run in different configurations. - If not you can use the provided JSON files.
- When the benchmark is done press
Enter
to exit. - To cancel an ongoing benchmark press
Ctrl + C
- Open the solution with preferred IDE
- Set the startup project to
Benchmark
- Build with
dotnet build -c Release
- Publish with
dotnet publish -c Release
- Run
Benchmark.exe
in theC:\Users\<Path to project>\Benchmark\bin\Release\net9.0\publish\
folder.
Note
This project is not signed or notarized (Can't afford apple developer lol)
- On macOS you might need to allow the app to run in
System Preferences > Security & Privacy
then scroll down and clickOpen Anyway
. - On Windows you might need to allow the app to run in
Windows Security
then clickRun Anyway
.
- Set a breakpoint anywhere.
- Run the program in
Debug
mode. - Use option
6
to start debugging. - Select the benchmark you want to debug.
- The program will pause at the breakpoint.
- Install the required SDKs and Runtimes.
- Change the target framework in the
Benchmark.csproj
file. - Change
net9.0
tonet7.0
ornet8.0
. - Run the application.
Note
Results should not be compared between different versions of .NET.
- Scroll down to see results.
- There might be up to a 20 seconds delay on first use due to hardware detection by
Hardware.Info
.
- Each benchmark will display it's runtime in
ms
. - After all benchmark(s) are done, there will be a global runtime in
ms
.
Apple M1 Max 10/32, 10 Cores 10 Threads (8P/2E)
32GB LPDDR5 6400MHz
macOS 13.6
Apple M2 Pro 10/16, 10 Cores 10 Threads (6P/4E)
16GB LPDDR5 6400MHz
macOS 13.6
Intel Core i5-7660U CPU 2.20GHz (Kaby Lake), 2 Cores 4 Threads (2P/0E)
8GB DDR3 2133MHz
macOS 12
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 6 Cores 12 Threads (6P/0E)
16GB DDR4 2400MHz
Windows 10 bootcamp
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 6 Cores 12 Threads (6P/0E)
16GB DDR4 2400MHz
macOS 13
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 6 Cores 12 Threads (6P/0E)
16GB DDR4 3600MHz
Windows 11
Ryzen Thread Ripper 1950X CPU 3.9GHz (Zen 1), 16 Cores 32 Threads (16P/0E)
32GB DDR4 3400MHz
Windows 10
Intel Core i7-12800H CPU 1.80GHz (Alder Lake), 14 Cores 20 Threads (6P/8E)
Note
Results are now tracked under issue #77 #77
- Dell latitude 5531 - i7-12800H @ 55W
46s
- Desktop ThreadRipper - Ryzen Thread Ripper 1950X @ 3.9GHz
49s
- MacBook Pro 14" 2023 - M2 Pro 10 Core CPU (6P + 4E)
92s
- MacBook Pro 16" 2021 - M1 Max 10 Core CPU (8P + 2E)
98s
- Desktop i7 - i7-8700K @ 4.7ghz
151s
- MacBook Pro 15" 2018 - i7-8850H @ 45W
191s
- MacBook Pro 13" 2017 - i5-7660U @ 15W
573s
- Dell latitude 5531 - i7-12800H @ 55W
32s
- MacBook Pro 14" 2023 - M2 Pro 10 Core CPU (6P + 4E)
35s
- Desktop ThreadRipper - Ryzen Thread Ripper 1950X @ 3.9GHz
38s
- MacBook Pro 16" 2021 - M1 Max 10 Core CPU (8P + 2E)
42s
- Desktop i7 - i7-8700K @ 4.7ghz
105s
- MacBook Pro 15" 2018 - i7-8850H @ 45W
133s
- MacBook Pro 13" 2017 - i5-7660U @ 15W
401s
- .NET 9.0.x
- Dual core CPU
- Windows 10 or MacOS 12
- 4GB RAM
- 1GB Storage