Minimal D3D11 reference implementation: An uncluttered Direct3D 11 setup + basic rendering primer and API familiarizer. Complete, runnable Windows application contained in a single function and laid out in a linear, step-by-step fashion that should be easy to follow from the code alone. ~200 LOC. No modern C++ / OOP or (other) obscuring cruft. View on YouTube
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| # Usage: runperf ./my-benchmark-binary | |
| # | |
| # Script to run a benchmark / performance test in decent conditions. Based on: | |
| # - https://www.llvm.org/docs/Benchmarking.html | |
| # - "Performance Analysis and Tuning on Modern CPU" by Denis Bakhvalov, Appendix A. | |
| # - https://github.com/andikleen/pmu-tools | |
| # | |
| # Note that this doesn't do any actual benchmarking, your binary must be able to do that all by itself. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| =========================== | |
| SID FILE FORMAT DESCRIPTION | |
| =========================== | |
| AUTHORS: | |
| Michael Schwendt (PSID v1 and v2) | |
| Simon White (PSID v2NG, RSID) | |
| Dag Lem (PSID v2NG) | |
| Wilfred Bos (PSID v3, RSID v3, PSID v4, RSID v4) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "mu.h" | |
| #define _CRT_SECURE_NO_WARNINGS | |
| #include <malloc.h> | |
| #define _USE_MATH_DEFINES | |
| #include <math.h> | |
| #define _NO_CRT_STDIO_INLINE | |
| #include <stdio.h> | |
| #include <stdarg.h> | |
| #define NO_STRICT |
This article has been updated and is available here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Latency Comparison Numbers (~2012) | |
| ---------------------------------- | |
| L1 cache reference 0.5 ns | |
| Branch mispredict 5 ns | |
| L2 cache reference 7 ns 14x L1 cache | |
| Mutex lock/unlock 25 ns | |
| Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
| Compress 1K bytes with Zippy 3,000 ns 3 us | |
| Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
| Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
