Classic F# renderer: before / after
Requested run complete: 2/2 measured trials succeeded. Warmups are separate and never enter statistics.
Cold = isolated subprocess wall time, including startup, JIT, loading, acceleration, GPU compilation/transfers/synchronization, tracing, encoding, cleanup and process exit. Trace is a synchronized phase, not GPU end-to-end latency. Each repeat starts a new process: separate warmups warm OS/device caches, not the measured process’s JIT. Null/unexecuted phases are unavailable, never zero-valued observations. Median, IQR, full min/max and MAD retain every successful measured repeat; failed/slow/timeout cases remain visible.
Phase boundaries are coarse public-API boundaries: mkPLY may include mesh acceleration in load; legacy trace also includes scene-tree construction and original per-pixel display conversion. Consult each worker’s capability/phase notes. Do not treat unlike build/trace subdivisions as pure-speed measurements; cold wall time includes all of them.
Linear comparisons use retained RGB PFM (little-endian float32 storage, unclamped linear radiance, bottom-up on disk). Render arithmetic precision is listed separately. Difference previews are sqrt(4 × absolute linear error), clipped only for display; MAE/RMSE/max are computed before display clipping. Legacy differences are diagnostic, not a global correctness test. Images select the lowest successful repeat, not the prettiest or fastest trial. Every repetition is retained below.
Run manifest · All trial JSON · Trial CSV · Summary CSV · Linear differences
Reproducibility: SDK, source/asset/binary hashes, dependencies, device and limitations
{
"schemaVersion": 1,
"createdUtc": "2026-09-07T12:06:10.8283354\u002B00:00",
"repository": "/home/movj/code/dev/Ray_Tracer_FSharp",
"gitCommit": "066c59eba68d222d63b373b7e25d408796eb1d12",
"gitStatus": "M RayTracer/API/API.fs\n M RayTracer/API/API.fsi\n M RayTracer/Acceleration/Acceleration.fs\n M RayTracer/Acceleration/BVH.fs\n M RayTracer/Acceleration/KDTree.fs\n M RayTracer/Acceleration/RegularGrids.fs\n M RayTracer/Camera/Camera.fs\n M RayTracer/Camera/PinholeCamera.fs\n M RayTracer/Camera/ThinLensCamera.fs\n M RayTracer/Core/BBox.fs\n M RayTracer/Core/Colour.fs\n M RayTracer/Core/Foundation.fs\n M RayTracer/Core/Point.fs\n M RayTracer/Core/Ray.fs\n M RayTracer/Core/Vector.fs\n M RayTracer/ImplicitSurfaces/ExprParse.fs\n M RayTracer/ImplicitSurfaces/ExprParse.fsi\n M RayTracer/ImplicitSurfaces/ExprToPoly.fs\n M RayTracer/ImplicitSurfaces/ImplicitSurfaces.fs\n M RayTracer/ImplicitSurfaces/ImplicitSurfaces.fsi\n M RayTracer/ImplicitSurfaces/PolyToUnipoly.fs\n M RayTracer/ImplicitSurfaces/PolyToUnipoly.fsi\n M RayTracer/Lights/AreaLight.fs\n M RayTracer/Lights/BasicLight.fs\n M RayTracer/Lights/GlobalLight.fs\n M RayTracer/Materials/Materials.fs\n M RayTracer/Materials/Textures.fs\n M RayTracer/Materials/Textures.fsi\n M RayTracer/RayTracer.fsproj\n M RayTracer/Render.fs\n M RayTracer/Sampling/Sampling.fs\n M RayTracer/Sampling/Sampling.fsi\n M RayTracer/Scene.fs\n M RayTracer/Shapes/BaseShape.fs\n M RayTracer/Shapes/CSG.fs\n M RayTracer/Shapes/Shapes.fs\n M RayTracer/Transformation/Transformation.fs\n M RayTracer/Transformation/Transformation.fsi\n M RayTracer/TriangleMesh/PLYParser.fs\n M RayTracer/TriangleMesh/TriangleMesh.fs\n M TracerTest/Meshes.fs\n M TracerTest/Program.fs\n M TracerTest/TracerTest.fsproj\n M TracerTest/Util.fs\n M UnitTests/Assert.fs\n M UnitTests/BVH/BVHTest.fs\n M UnitTests/ImplicitSurfaces/ExprParseTests.fs\n M UnitTests/ImplicitSurfaces/ExprToPolyTests.fs\n M UnitTests/ImplicitSurfaces/ExprToPolyTests2.fs\n M UnitTests/ImplicitSurfaces/ImplicitSurfacesTests.fs\n M UnitTests/ImplicitSurfaces/PolyToUnipolyTests.fs\n M UnitTests/Program.fs\n M UnitTests/RG/RegularGridsTest.fs\n M UnitTests/SamplingTest.fs\n M UnitTests/ShapeTest.fs\n M UnitTests/TransformationTest.fs\n M UnitTests/UnitTests.fsproj\n?? .geometry-assets.fsx\n?? .geometry-parser-baseline.fsx\n?? .geometry-regression.fsx\n?? .gitignore\n?? .tools/downloads/NuGetScratchmovj/lock/f373c6f8d0dac85905c07dd737cf4418c62803b1\n?? BenchmarkRunner/BenchmarkRunner.fsproj\n?? BenchmarkRunner/Program.fs\n?? BenchmarkRunner/SceneBuilder.fs\n?? BenchmarkRunner/Worker.fs\n?? BenchmarkRunner/packages.lock.json\n?? Directory.Build.props\n?? RayTracer.Gpu/.gitignore\n?? RayTracer.Gpu/CoreComparison.fs\n?? RayTracer.Gpu/CudaRenderer.fs\n?? RayTracer.Gpu/CudaRuntime.fs\n?? RayTracer.Gpu/DeviceGeometry.fs\n?? RayTracer.Gpu/DeviceKernels.fs\n?? RayTracer.Gpu/DeviceMath.fs\n?? RayTracer.Gpu/DeviceTransport.fs\n?? RayTracer.Gpu/DeviceTypes.fs\n?? RayTracer.Gpu/Gate.fs\n?? RayTracer.Gpu/HostScene.fs\n?? RayTracer.Gpu/Program.fs\n?? RayTracer.Gpu/README.md\n?? RayTracer.Gpu/RayTracer.Gpu.fsproj\n?? RayTracer.Gpu/SelfTests.fs\n?? RayTracer.Gpu/THIRD-PARTY-NOTICES.txt\n?? RayTracer.Gpu/Tests/tiny-settings.json\n?? RayTracer.Gpu/Worker.fs\n?? RayTracer.Gpu/packages.lock.json\n?? RayTracer.ImageIO/README.md\n?? RayTracer.ImageIO/RayTracer.ImageIO.fsproj\n?? RayTracer.ImageIO/RgbImage.fs\n?? RayTracer.ImageIO/packages.lock.json\n?? RayTracer.sln\n?? RayTracer/Acceleration/FlatBVH.fs\n?? RayTracer/ClassicIntegrator.fs\n?? RayTracer/packages.lock.json\n?? SceneAssets/CheckLegacyPly.fsx\n?? SceneAssets/Checks.fs\n?? SceneAssets/Geometry.fs\n?? SceneAssets/Meshes.fs\n?? SceneAssets/Program.fs\n?? SceneAssets/README.md\n?? SceneAssets/SceneAssets.fsproj\n?? SceneAssets/Scenes.fs\n?? SceneAssets/Textures.fs\n?? SceneAssets/packages.lock.json\n?? SceneFormat/SceneFormat.fs\n?? SceneFormat/SceneFormat.fsproj\n?? SceneFormat/packages.lock.json\n?? TracerTest/packages.lock.json\n?? UnitTests/AccelerationRegressionTests.fs\n?? UnitTests/GeometryRegressionTests.fs\n?? UnitTests/ImageIOTests.fs\n?? UnitTests/LightingRegressionTests.fs\n?? UnitTests/MeshRegressionTests.fs\n?? UnitTests/NumericalRegressionTests.fs\n?? UnitTests/README.md\n?? UnitTests/packages.lock.json\n?? benchmarks/BENCHMARKS.md\n?? benchmarks/gold-dragon.json\n?? benchmarks/legacy/LegacyRayTracer.fsproj\n?? benchmarks/legacy/README.md\n?? benchmarks/legacy/Runner/LegacyRunner.fsproj\n?? benchmarks/legacy/Runner/packages.lock.json\n?? benchmarks/legacy/adapted/Acceleration/RegularGrids.fs\n?? benchmarks/legacy/adapted/Core/Foundation.fs\n?? benchmarks/legacy/adapted/Core/Vector.fs\n?? benchmarks/legacy/adapted/Render.fs\n?? benchmarks/legacy/adapted/Sampling/Sampling.fs\n?? benchmarks/legacy/adapted/Sampling/Sampling.fsi\n?? benchmarks/legacy/baseline.json\n?? benchmarks/legacy/original/LICENSE\n?? benchmarks/legacy/original/RayTracer/API.fs\n?? benchmarks/legacy/original/RayTracer/API.fsi\n?? benchmarks/legacy/original/RayTracer/API/API.fs\n?? benchmarks/legacy/original/RayTracer/API/API.fsi\n?? benchmarks/legacy/original/RayTracer/Acceleration/Acceleration.fs\n?? benchmarks/legacy/original/RayTracer/Acceleration/BVH.fs\n?? benchmarks/legacy/original/RayTracer/Acceleration/KDTree.fs\n?? benchmarks/legacy/original/RayTracer/Acceleration/RegularGrids.fs\n?? benchmarks/legacy/original/RayTracer/App.config\n?? benchmarks/legacy/original/RayTracer/AssemblyInfo.fs\n?? benchmarks/legacy/original/RayTracer/Camera/Camera.fs\n?? benchmarks/legacy/original/RayTracer/Camera/PinholeCamera.fs\n?? benchmarks/legacy/original/RayTracer/Camera/ThinLensCamera.fs\n?? benchmarks/legacy/original/RayTracer/Core/BBox.fs\n?? benchmarks/legacy/original/RayTracer/Core/Colour.fs\n?? benchmarks/legacy/original/RayTracer/Core/Foundation.fs\n?? benchmarks/legacy/original/RayTracer/Core/Point.fs\n?? benchmarks/legacy/original/RayTracer/Core/Ray.fs\n?? benchmarks/legacy/original/RayTracer/Core/Vector.fs\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprParse.fs\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprParse.fsi\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprToPoly.fs\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprToPoly.fsi\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ImplicitSurfaces.fs\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ImplicitSurfaces.fsi\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/PolyToUnipoly.fs\n?? benchmarks/legacy/original/RayTracer/ImplicitSurfaces/PolyToUnipoly.fsi\n?? benchmarks/legacy/original/RayTracer/Lights/AreaLight.fs\n?? benchmarks/legacy/original/RayTracer/Lights/BasicLight.fs\n?? benchmarks/legacy/original/RayTracer/Lights/GlobalLight.fs\n?? benchmarks/legacy/original/RayTracer/Materials/Materials.fs\n?? benchmarks/legacy/original/RayTracer/Materials/Textures.fs\n?? benchmarks/legacy/original/RayTracer/Materials/Textures.fsi\n?? benchmarks/legacy/original/RayTracer/Program2.fs\n?? benchmarks/legacy/original/RayTracer/RayTracer.fsproj\n?? benchmarks/legacy/original/RayTracer/Render.fs\n?? benchmarks/legacy/original/RayTracer/Sampling/Sampling.fs\n?? benchmarks/legacy/original/RayTracer/Sampling/Sampling.fsi\n?? benchmarks/legacy/original/RayTracer/Scene.fs\n?? benchmarks/legacy/original/RayTracer/Shapes/BaseShape.fs\n?? benchmarks/legacy/original/RayTracer/Shapes/CSG.fs\n?? benchmarks/legacy/original/RayTracer/Shapes/Shapes.fs\n?? benchmarks/legacy/original/RayTracer/Transformation/Transformation.fs\n?? benchmarks/legacy/original/RayTracer/Transformation/Transformation.fsi\n?? benchmarks/legacy/original/RayTracer/TriangleMesh/PLYParser.fs\n?? benchmarks/legacy/original/RayTracer/TriangleMesh/TriangleMesh.fs\n?? benchmarks/legacy/original/RayTracer/TriangleMeshes/PLYParser.fs\n?? benchmarks/legacy/original/RayTracer/TriangleMeshes/TriangleMes.fs\n?? benchmarks/legacy/original/RayTracer/packages.config\n?? benchmarks/legacy/packages.lock.json\n?? benchmarks/legacy/portability.diff\n?? benchmarks/legacy/portability.json\n?? benchmarks/legacy/prepare-port.fsx\n?? benchmarks/legacy/proof.fsx\n?? benchmarks/legacy/source.sha256\n?? benchmarks/scenes/chair.json\n?? benchmarks/scenes/material-lab.json\n?? benchmarks/scenes/provenance.json\n?? benchmarks/scenes/roman-bust.json\n?? benchmarks/scenes/sky-arena.json\n?? benchmarks/scenes/space-sentinel.json\n?? global.json\n?? scripts/BenchmarkData.fs\n?? scripts/BenchmarkReport.fs\n?? scripts/benchmark-builder-tests.fsx\n?? scripts/benchmark-tests.fsx\n?? scripts/benchmark-worker-tests.fsx\n?? scripts/benchmark.fsx\n?? scripts/prepare-gold-dragon.fsx",
"sourceDigest": "fbee55573e5c91f489d298148af84a4c410868a7ae6352b8658261603cd65ae9",
"sources": [
{
"path": ".geometry-assets.fsx",
"sha256": "aa7b923858c7df9b981805b977248ae0e65f356c03c2380978cc276a714cccd9",
"bytes": 865
},
{
"path": ".geometry-parser-baseline.fsx",
"sha256": "090ce4e38d393e705e1f91aceaadccb89ab3a9a402d116a42218b67b0139f2c4",
"bytes": 358
},
{
"path": ".geometry-regression.fsx",
"sha256": "b101533d4d352cf3967bfd06f05e560154e554e2c4a86bbc7ec5de2fd4bebe04",
"bytes": 820
},
{
"path": "BenchmarkRunner/BenchmarkRunner.fsproj",
"sha256": "82774cfb2eac763a54573aeba7e00f5106bedd2460cd87340c08c560fc1db741",
"bytes": 663
},
{
"path": "BenchmarkRunner/Program.fs",
"sha256": "4bb5cb60b599119d051a3d1cb624c397fd8d086bbfe34dce56754d4865740980",
"bytes": 3334
},
{
"path": "BenchmarkRunner/SceneBuilder.fs",
"sha256": "d87f8d38d7a181929d86397c344deeee280908795ce04994189e117655e98fa5",
"bytes": 13247
},
{
"path": "BenchmarkRunner/Worker.fs",
"sha256": "7143110be031a7a3b54a9fcf640a4307ba360ec81435216d68049ce5dd87c250",
"bytes": 15641
},
{
"path": "BenchmarkRunner/packages.lock.json",
"sha256": "07f8ed76169e1544073b4a47031c7c0fa22ba0facdae215665bc6bf7a0eccbce",
"bytes": 1571
},
{
"path": "Directory.Build.props",
"sha256": "bd80f98e6493c2677c5c645c47ca89ecef9f5122d6e5d4cab97278177c69b5d4",
"bytes": 228
},
{
"path": "README.md",
"sha256": "beba9229a791f8d5c937ae81263b0d11a9f212fa753fea7b8263f25fc2fe76a6",
"bytes": 572
},
{
"path": "RayTracer.Gpu/CoreComparison.fs",
"sha256": "654eddc45537b4030e65568a6b4758e2e65828980c27b4ba2d69adabf9d8d681",
"bytes": 9216
},
{
"path": "RayTracer.Gpu/CudaRenderer.fs",
"sha256": "3876494cbde1ffd47b628229bbb5d98cafbc46536f0582e96f74a99ee6777bab",
"bytes": 13176
},
{
"path": "RayTracer.Gpu/CudaRuntime.fs",
"sha256": "b28f9034d784ca710e16a6a2aecb52614662269fd2b4ab168adbbf07bc8d0d22",
"bytes": 918
},
{
"path": "RayTracer.Gpu/DeviceGeometry.fs",
"sha256": "8ab7d063d98cc9c6097bc850149d31e292131bd27807c8662fb829bed0aa502a",
"bytes": 7012
},
{
"path": "RayTracer.Gpu/DeviceKernels.fs",
"sha256": "238cfeea08c620e5a6babdaadd1eb133f53f32b620edf1d02c3065237909990e",
"bytes": 3705
},
{
"path": "RayTracer.Gpu/DeviceMath.fs",
"sha256": "86202baee913ebef464dad23383357b7ab1403f0ad8d3955b1231b35f95def38",
"bytes": 5612
},
{
"path": "RayTracer.Gpu/DeviceTransport.fs",
"sha256": "fd457ceb7ddd6d8972b83fecb454004d61a93545a8ef6e87ae143d7bc55aa67c",
"bytes": 16911
},
{
"path": "RayTracer.Gpu/DeviceTypes.fs",
"sha256": "dea5cb84f842256b0247deac55f0e0ccc098acc074cbac43a8ae7599b6a4e2f1",
"bytes": 4428
},
{
"path": "RayTracer.Gpu/Gate.fs",
"sha256": "cc7732fc5fa2e21e091d0e40a7049eb09ebdf82632eea9ebf318f8e5938c8b91",
"bytes": 9170
},
{
"path": "RayTracer.Gpu/HostScene.fs",
"sha256": "6bac121d1738bb5b09546d9dcb46944b846b3a8212cf2d1d41bc80937be71138",
"bytes": 15754
},
{
"path": "RayTracer.Gpu/Program.fs",
"sha256": "7eb7f70fa3f106583a375aa4336b93fbd0120b87201b7b14787f7fba11036a58",
"bytes": 946
},
{
"path": "RayTracer.Gpu/README.md",
"sha256": "5f1effd7777e94e5bbb906c598451f21e1acd1cc1ae303ecbb3ded53a675c227",
"bytes": 10129
},
{
"path": "RayTracer.Gpu/RayTracer.Gpu.fsproj",
"sha256": "28ef4f211ea5cfa6755bb11b359fd35b9fd6abddf05f1ca0bb10655adf5e56f6",
"bytes": 1329
},
{
"path": "RayTracer.Gpu/SelfTests.fs",
"sha256": "b15336de5a78a37be0265c49680869b0676bf1dd11ef5e0e3113bfacf257ad15",
"bytes": 12834
},
{
"path": "RayTracer.Gpu/Tests/tiny-settings.json",
"sha256": "bb864dc5d972d2adcdad7f76d9095d1dafc25305f6dfe0edc2610407dcb472c4",
"bytes": 241
},
{
"path": "RayTracer.Gpu/Worker.fs",
"sha256": "0de9fdeed6d8da8f97e34f4024d2f6f8d07106f9a7cf4e8c3b9da9dbcb220dfb",
"bytes": 9423
},
{
"path": "RayTracer.Gpu/packages.lock.json",
"sha256": "a8d959448150344cb1fa6f72e54343e559d9e34da76fb43eb464a687efad0061",
"bytes": 2104
},
{
"path": "RayTracer.ImageIO/README.md",
"sha256": "90a3f5629eb729271da6bb9a70d329cee48461ca91242754ea2c0cc0b238d681",
"bytes": 2248
},
{
"path": "RayTracer.ImageIO/RayTracer.ImageIO.fsproj",
"sha256": "732bb4218c96ffd53dc46007824569dcb46b8a07f53e42cfa5797b10552ecf67",
"bytes": 492
},
{
"path": "RayTracer.ImageIO/RgbImage.fs",
"sha256": "dd0fcbae601f606dab5d5ff5cce0092bdd23f6c1c660e09e2981331cd6f640fd",
"bytes": 4180
},
{
"path": "RayTracer.ImageIO/packages.lock.json",
"sha256": "9ece3545e2e2b99f550b5f30aca7317642508eeb430c484a878a4af8e8794afc",
"bytes": 791
},
{
"path": "RayTracer/API.fs",
"sha256": "97dc6097f629a918cf2f821a9060f37eefa913e8deed17ac671c11064908dca0",
"bytes": 10044
},
{
"path": "RayTracer/API.fsi",
"sha256": "62eab4d1c9b3d0e5cebce8d7c72cea9ba2ccb09c8547c3c8a086a8b0f49fe885",
"bytes": 14359
},
{
"path": "RayTracer/API/API.fs",
"sha256": "f3b4ddd8e7c7fef37a1a3d73b967f3003c6f4f08597b4cd8a555cf46fb6b72cf",
"bytes": 10043
},
{
"path": "RayTracer/API/API.fsi",
"sha256": "286e94a3b0e8e0161eaab1a2c857e558af87a91e95bd3e40aff2bed997fa9700",
"bytes": 15155
},
{
"path": "RayTracer/Acceleration/Acceleration.fs",
"sha256": "5ed94f4d0f1f66e1022391c63384cf80c696742a53beb0cf8b20b1438b2ee155",
"bytes": 6450
},
{
"path": "RayTracer/Acceleration/BVH.fs",
"sha256": "55f0d1ce2cf76e6b5dbec6f5b911605d39003a64d24a8bb062f96ffa6d95c335",
"bytes": 6160
},
{
"path": "RayTracer/Acceleration/FlatBVH.fs",
"sha256": "5390849785ed5188167a39678c6b1866a6a1b7a885a728e5777fdbc5f5f05ff3",
"bytes": 11318
},
{
"path": "RayTracer/Acceleration/KDTree.fs",
"sha256": "6279caf8439600c59b5ebf6bb642663024ee8c0f3a724fe8c58ed47fcd5bed23",
"bytes": 15662
},
{
"path": "RayTracer/Acceleration/RegularGrids.fs",
"sha256": "3b74af50815bcc1e64db85784e7309f58b617ed17f933634031cb3cc04824d4f",
"bytes": 9789
},
{
"path": "RayTracer/App.config",
"sha256": "8173d4d17cb728e6f2c5e2ce8124ce7eb0f459dc62085bcaab786abf1f6b37a7",
"bytes": 184
},
{
"path": "RayTracer/AssemblyInfo.fs",
"sha256": "076327f6c028480a9e7bda7ae14cafeb70375cbb6d1c9d6ed74522005d3a78c7",
"bytes": 1448
},
{
"path": "RayTracer/Camera/Camera.fs",
"sha256": "d0ddf33242570d834ba463a275a685927299885cd588d52176b336ee13b51ac4",
"bytes": 2261
},
{
"path": "RayTracer/Camera/PinholeCamera.fs",
"sha256": "c9aa6fc1f25ae9e14b5b7a86a802e5e0e0ffe481b4972038b8283fdf9ffd6c83",
"bytes": 907
},
{
"path": "RayTracer/Camera/ThinLensCamera.fs",
"sha256": "25434be7cc9bbb6189c1ec9077cada513abd82f53bca21ee2e7b31f064ec0690",
"bytes": 1851
},
{
"path": "RayTracer/ClassicIntegrator.fs",
"sha256": "227d6c70c20f8425d5f40886610c08f03a204e8774549173f8a53b04aa0617a7",
"bytes": 11097
},
{
"path": "RayTracer/Core/BBox.fs",
"sha256": "bc7c5a58cc34e6237a0d5019809ba01235c128f2ece6c61e3b9bd9ebcfac152b",
"bytes": 3127
},
{
"path": "RayTracer/Core/Colour.fs",
"sha256": "39e6374c20ed7e6d67598530f87afc63b5bd70c5a5a15b58e251477bdb2325eb",
"bytes": 3737
},
{
"path": "RayTracer/Core/Foundation.fs",
"sha256": "431a08cffe62e6887b3d8bba61094ad440ac2ebc01ed6a547388c92a55a27b85",
"bytes": 7099
},
{
"path": "RayTracer/Core/Point.fs",
"sha256": "d48f14e15edeb35c5ecae968122fc33fd22ee9cc03a727ecf47091602c373504",
"bytes": 2467
},
{
"path": "RayTracer/Core/Ray.fs",
"sha256": "f161f1f70bf160f9176cecd6a0340da6b5442e931e172ff1a3be0ba7429babe0",
"bytes": 1957
},
{
"path": "RayTracer/Core/Vector.fs",
"sha256": "343df85f8fe1d2b4483873b38d456c6f776420c89a1a31eaf2298f277f95af49",
"bytes": 3527
},
{
"path": "RayTracer/ImplicitSurfaces/ExprParse.fs",
"sha256": "f2e283ba68107f09fa086b7d528f6a25c6a2201c1a6f10927cede7fa52e2fb5d",
"bytes": 8509
},
{
"path": "RayTracer/ImplicitSurfaces/ExprParse.fsi",
"sha256": "bb605e2bacb9cdadd065f1f9d056cbc0d4808886622df89bf0fd1d5b11b8f2c4",
"bytes": 697
},
{
"path": "RayTracer/ImplicitSurfaces/ExprToPoly.fs",
"sha256": "b5adb8d83aef5b1bdaecab0855394f44987277ce9042f6e5c9e43f1693b4d2de",
"bytes": 13345
},
{
"path": "RayTracer/ImplicitSurfaces/ExprToPoly.fsi",
"sha256": "f81a02ec47a4392c4da91fbc44224f440a06d52178dadc453aa06262e3985f69",
"bytes": 874
},
{
"path": "RayTracer/ImplicitSurfaces/ImplicitSurfaces.fs",
"sha256": "7b4b6cc8c00f170bbeebd3ea5e305e8b429a5743e7476be82b34925b9385c06a",
"bytes": 9258
},
{
"path": "RayTracer/ImplicitSurfaces/ImplicitSurfaces.fsi",
"sha256": "c1c2417105d04e7c167e57c00ba72d6cecbdcfe53c5d706489d96db15df4bf91",
"bytes": 1062
},
{
"path": "RayTracer/ImplicitSurfaces/PolyToUnipoly.fs",
"sha256": "8a0e85c65c57dfa4bdbd03f32e0f3ef5812cdc65ba10bb37b12486b78965342e",
"bytes": 10846
},
{
"path": "RayTracer/ImplicitSurfaces/PolyToUnipoly.fsi",
"sha256": "43b9ae0f95ecd8f61525ef26a157bf6671030c507e5ce5dd0ca94ad7b12ca4e1",
"bytes": 978
},
{
"path": "RayTracer/Lights/AreaLight.fs",
"sha256": "5b4a7446f839d675e61ea8bf0dd058977310c5b635a3f818e82cce9b3c6871bc",
"bytes": 9580
},
{
"path": "RayTracer/Lights/BasicLight.fs",
"sha256": "61db2b36a6e5fa85e4a65e336d93594f927bbb85aad41552393a41efc7b97aa8",
"bytes": 1523
},
{
"path": "RayTracer/Lights/GlobalLight.fs",
"sha256": "41d5f1465e960da68d40d425823b2160bb2f6c1b5c911d15df82691670eda4f7",
"bytes": 2795
},
{
"path": "RayTracer/Materials/Materials.fs",
"sha256": "46422c250b509f79574bf64c2169df8cd7d6df04a95657c17ed321b1944870d7",
"bytes": 16547
},
{
"path": "RayTracer/Materials/Textures.fs",
"sha256": "2ae86bb58e6a2d121540e5d6e537d60f2ff333e84b19dd11a0dffb3bcc5c428a",
"bytes": 814
},
{
"path": "RayTracer/Materials/Textures.fsi",
"sha256": "4214063b91d20561614ee88c00fb1f39937c0638a9f9b37f3649b7907cb172b2",
"bytes": 355
},
{
"path": "RayTracer/Program2.fs",
"sha256": "f4620ea9b3ab45100cd31701cf757a2dfa8308cf5f152b091e290e5507d8117e",
"bytes": 5398
},
{
"path": "RayTracer/RayTracer.fsproj",
"sha256": "f0b095dfdb37c0f006dd45de77c590400b308b2494eb4b1829299d6c3c7213f0",
"bytes": 2721
},
{
"path": "RayTracer/Render.fs",
"sha256": "995b3462f240649fb245642c88b24f3a5f9c4116e4cf1c69a095d636e32f8a22",
"bytes": 5409
},
{
"path": "RayTracer/Sampling/Sampling.fs",
"sha256": "0f7d12ef5a759a3c78a4a78dcd64937da07a864be9994692fa3437c79ff94967",
"bytes": 14631
},
{
"path": "RayTracer/Sampling/Sampling.fsi",
"sha256": "20207e6278cc86bba62ef34c685a33d3e978362f86d2fbb69d2952f3a72317ae",
"bytes": 873
},
{
"path": "RayTracer/Scene.fs",
"sha256": "b3b1c59c1ce147244c19e6ac18c519a12b3054718a3c4c40ce41e21d452692ac",
"bytes": 1770
},
{
"path": "RayTracer/Shapes/BaseShape.fs",
"sha256": "7643d7cd26c5192edf5e0af2a898bd02ed0b9ecfd609ad5082e7db042829f677",
"bytes": 1778
},
{
"path": "RayTracer/Shapes/CSG.fs",
"sha256": "95bf8cfc24996ff3c541737a4dceb22d7459c4553b31084ac298e085924fd3c2",
"bytes": 7604
},
{
"path": "RayTracer/Shapes/Shapes.fs",
"sha256": "7dbe1439b7f2fa168f7221d89fb054852e7e9dfba197276700e221637d581acc",
"bytes": 18964
},
{
"path": "RayTracer/Transformation/Transformation.fs",
"sha256": "0ac87b1c7323d9b3abd682d91cc23d0f6fe5fa2118d03d88d0d0fc16676f9846",
"bytes": 9113
},
{
"path": "RayTracer/Transformation/Transformation.fsi",
"sha256": "f474e8d09f06f2aea53a8ed8b81e19838ebde1d0ba946fe5c325069677425074",
"bytes": 1285
},
{
"path": "RayTracer/TriangleMesh/PLYParser.fs",
"sha256": "d8603210aa1b133556a7c1800f1734a82d5031ef607ef9a005df8a3a7ab4b78f",
"bytes": 15920
},
{
"path": "RayTracer/TriangleMesh/TriangleMesh.fs",
"sha256": "13496e4e4b3582961857b2749157d8f35522ec66afa3a026adf4382cf0d4142e",
"bytes": 12762
},
{
"path": "RayTracer/TriangleMeshes/PLYParser.fs",
"sha256": "ab935fe6ea41f54aa4e60bae203c74bdfbeb3855f3432d52ff2c424aa25f82f9",
"bytes": 11748
},
{
"path": "RayTracer/TriangleMeshes/TriangleMes.fs",
"sha256": "97c76e42d47a7842983cd5dbca5e4bb99d1fba3d16f9f3ff4c6fbf0d691a815f",
"bytes": 5803
},
{
"path": "RayTracer/packages.config",
"sha256": "8345d499882d0c22eb48754f2ba271b773414459a6d2bdc8fb43b4882b5ba468",
"bytes": 142
},
{
"path": "RayTracer/packages.lock.json",
"sha256": "0ff1eeeed5e7286beb426f89e0af6c931b0173b415bb1890c40aee1bcd7aebf3",
"bytes": 1258
},
{
"path": "SceneAssets/CheckLegacyPly.fsx",
"sha256": "a1ae2d00cfa9854ce8a4d2f93921b8963e97ecbaaaf29b179389ae883a221cbd",
"bytes": 2531
},
{
"path": "SceneAssets/Checks.fs",
"sha256": "6a43e3767b39109dbde97babeb97a28db60692c32e395b7d36aae2ee6777991a",
"bytes": 4341
},
{
"path": "SceneAssets/Geometry.fs",
"sha256": "3e9fe6f03f91055efaedbb6244311dbd22059309bf09d1f9599a5be2f9b6a935",
"bytes": 3382
},
{
"path": "SceneAssets/Meshes.fs",
"sha256": "1ec55c8835de7fe0260f52b93de79c748bc2647384a3ea815516d2f19137090c",
"bytes": 31156
},
{
"path": "SceneAssets/Program.fs",
"sha256": "1de22197c6b0723889d6d7546f16a07bd350d15954973bd93e74167c64d23a0c",
"bytes": 12320
},
{
"path": "SceneAssets/README.md",
"sha256": "3172d23feab02cdd95e5aba3742d076b974a39a5f6b0fff43923457654281205",
"bytes": 9469
},
{
"path": "SceneAssets/SceneAssets.fsproj",
"sha256": "811600a04d6c06bdacc577d0303ea671cfeabe92b469d3ba6f4ca604f574d40f",
"bytes": 779
},
{
"path": "SceneAssets/Scenes.fs",
"sha256": "bbe17aa71f6b623e0050cc7c155aa0054846963b6a3c6f7087b3010d845f1d66",
"bytes": 33906
},
{
"path": "SceneAssets/Textures.fs",
"sha256": "5c7099807c20d60b5bc9af4cf3301b42d144db7ea23b68199ec82aaf800d8f90",
"bytes": 5710
},
{
"path": "SceneAssets/packages.lock.json",
"sha256": "199c8bc5f22115369e727497a84f5d36eb21d9977c08550d97e50765a2bdacd3",
"bytes": 1092
},
{
"path": "SceneFormat/SceneFormat.fs",
"sha256": "2c40dee2ccf30c508287fa53e2dbdd4940d0bee30a1141f794f555d7d0b70c30",
"bytes": 14906
},
{
"path": "SceneFormat/SceneFormat.fsproj",
"sha256": "1c3cf567e631a53b7f09a5773669bf0a8a46319fa9e366384b5cf3ab963e28b3",
"bytes": 263
},
{
"path": "SceneFormat/packages.lock.json",
"sha256": "5f9ce5f37838c7781cfcfc91dc777595b1e3f2462ec88765cbb802f6c8ed3de8",
"bytes": 306
},
{
"path": "TracerTest/AffineTransformations.fs",
"sha256": "35afeb6a3db21d4da4962119389dced136fb702a9167b99b5685b008ad27237e",
"bytes": 5724
},
{
"path": "TracerTest/AmbientOcclusion.fs",
"sha256": "1476f1531135620f9f437db2a2b77d7172cf2f96e852019671a7eb2345a126a9",
"bytes": 1756
},
{
"path": "TracerTest/App.config",
"sha256": "ae5e7fa8373b273fad07e0486cebfd88c18f9517ba609c2b8e6534f5d9e53dcb",
"bytes": 189
},
{
"path": "TracerTest/AreaLight.fs",
"sha256": "80463f3e509037e72723f9fc9f89d2bd11b45dbfde90e5ede69fa0b195789db7",
"bytes": 5548
},
{
"path": "TracerTest/AssemblyInfo.fs",
"sha256": "6da8bbc6dc0309f64781f4fdcab2de697ed49b96301498606f81d6371793b7d7",
"bytes": 1500
},
{
"path": "TracerTest/CSG.fs",
"sha256": "1460578f91dcdf74f13e897b9a51e08904d41a64b669e9ba67200fd512cd91b4",
"bytes": 8934
},
{
"path": "TracerTest/ImplicitSurfaces.fs",
"sha256": "07bc5a09d3ac80edeb17aac307a1c90281c4db95b60b64be7d7ca63d47a45be5",
"bytes": 6483
},
{
"path": "TracerTest/Light.fs",
"sha256": "694ad2c9e66089988b28f79f5df0773e73d00e4cc00a3602a728772103863674",
"bytes": 2924
},
{
"path": "TracerTest/Material.fs",
"sha256": "8f96aaa69d7c0547b5c59986f15b9af37143859657cf6afa065e0cedbfd5902f",
"bytes": 8080
},
{
"path": "TracerTest/Meshes.fs",
"sha256": "2609f018caa2ab943e02085bb1b906dadec56df0e3920e58c8830ee87ec09e5d",
"bytes": 18602
},
{
"path": "TracerTest/Program.fs",
"sha256": "d154a26ff8cb0f0f92673f8231c3a98dfdc7a23b5ec633e5913d79d6d278a987",
"bytes": 5069
},
{
"path": "TracerTest/Shapes.fs",
"sha256": "d5c101296c6a29fd5ec3ecb6ed9a871fe316f0fc4b1774639e921c86afc83ce9",
"bytes": 5511
},
{
"path": "TracerTest/Texture.fs",
"sha256": "b3d1d43ceefad6f8864a93cbf2b83dcdabf6e578fc88a44c7eecc86ec4ee975b",
"bytes": 10286
},
{
"path": "TracerTest/ThinLens.fs",
"sha256": "fadc1f53890af1d3d6e8d32770e0de81c048639c7a2fe7a1e69e7f242b603ee4",
"bytes": 3626
},
{
"path": "TracerTest/TracerTest.fsproj",
"sha256": "ca185593fe700d69f434c675df6a47fec7a7dedeebd5e9e285f918cb44742f18",
"bytes": 1230
},
{
"path": "TracerTest/Transparency.fs",
"sha256": "181c623df92cedf9860bfd5ad6a04440dee1aa8ef338d3de4cb5e4abb8fe9b14",
"bytes": 18745
},
{
"path": "TracerTest/Util.fs",
"sha256": "2a027ef9c3bba35c80bf8f1d68d23876d07acd9f05cfcdaf571eb71770079015",
"bytes": 7887
},
{
"path": "TracerTest/packages.config",
"sha256": "4932f5463ce34bb3a33df3673c83721cdbbd256599e67066e3debb46b1585fd4",
"bytes": 145
},
{
"path": "TracerTest/packages.lock.json",
"sha256": "875be7c920aec172bd8a5c844d2a950e241dca858c2f65635ce389db89bf003f",
"bytes": 1436
},
{
"path": "UnitTests/AccelerationRegressionTests.fs",
"sha256": "e703dd9005f0944bb7d0afb98e36961553d16165622896598a2f2160de45ad2a",
"bytes": 22153
},
{
"path": "UnitTests/App.config",
"sha256": "8173d4d17cb728e6f2c5e2ce8124ce7eb0f459dc62085bcaab786abf1f6b37a7",
"bytes": 184
},
{
"path": "UnitTests/AssemblyInfo.fs",
"sha256": "4e3dcd32d1ee57112d1bced36953200621cf0a015d32bcc756bd0762ab374c11",
"bytes": 1439
},
{
"path": "UnitTests/Assert.fs",
"sha256": "b42d5ee616fcfb83c6c844a21db945e6f498c22e0d6a6710e18d16ab1c24b3d5",
"bytes": 1727
},
{
"path": "UnitTests/BVH/BVHTest.fs",
"sha256": "541f6bb461bebb85be3a7e979d146de6dafaf736faf5a6e678dc99f5d3242b40",
"bytes": 4651
},
{
"path": "UnitTests/GeometryRegressionTests.fs",
"sha256": "9821335217e88806942432ed563d40ced9056974b692d6c1c9d309d86c395927",
"bytes": 12331
},
{
"path": "UnitTests/ImageIOTests.fs",
"sha256": "6da7198dfbb449ff40f9d448325cfc1de69604d6f5408b70d9c8c39ad067897c",
"bytes": 3947
},
{
"path": "UnitTests/ImplicitSurfaces/ExprParseTests.fs",
"sha256": "0476dd3ec62b5ebb0f9a6e0bfaae74ab2f648df9b92aeb8f4f0bcab43edc2e7c",
"bytes": 4614
},
{
"path": "UnitTests/ImplicitSurfaces/ExprToPolyTests.fs",
"sha256": "506baf39c5ccaa4f38608fafb20b6e7a53b39fce26b1f4490a8e0993e20191fe",
"bytes": 7041
},
{
"path": "UnitTests/ImplicitSurfaces/ExprToPolyTests2.fs",
"sha256": "c3c3519698c6c4cfe1fb15382d1e8cff0b66b325472da735788901474a505b92",
"bytes": 4594
},
{
"path": "UnitTests/ImplicitSurfaces/ImplicitSurfacesTests.fs",
"sha256": "9016a41bc2452ae8a266b6a0953c886041fd715b8beeb9638f9580692b74764b",
"bytes": 6891
},
{
"path": "UnitTests/ImplicitSurfaces/PolyToUnipolyTests.fs",
"sha256": "671c59ad91d0d3949518677c50038b641c8b58cdd4883dd69cc4c74212725cf3",
"bytes": 1574
},
{
"path": "UnitTests/LightingRegressionTests.fs",
"sha256": "5cff0c2d86e9d9b6bcdd52ce441844feb286af2dda80b9ec1595d2da1469ce3a",
"bytes": 9394
},
{
"path": "UnitTests/MeshRegressionTests.fs",
"sha256": "296a41e8b1db178c2c1ed25c6c197ec18c2ecdd9b21b529aeeeaddc8fbeb8712",
"bytes": 12892
},
{
"path": "UnitTests/NumericalRegressionTests.fs",
"sha256": "51a6428bc545e9cfa1321853eb46aba8ca4870454031ead72f2f6d6249f5a1d1",
"bytes": 6095
},
{
"path": "UnitTests/Program.fs",
"sha256": "d84d19fbb7a155d1ffd7ecc9ab078eda01b1adc52da6ec7355e5be613579acf2",
"bytes": 3124
},
{
"path": "UnitTests/README.md",
"sha256": "53c39e7055fdaf572a099430560c51286e18804d2cdcf8930048ca361a553349",
"bytes": 1248
},
{
"path": "UnitTests/RG/RegularGridsTest.fs",
"sha256": "9c00f34e12c2df2336bff41b2e6ab93ebc5a1ca09fb0664375ac438b8de1f133",
"bytes": 1114
},
{
"path": "UnitTests/SamplingTest.fs",
"sha256": "377508b5f5297dffba216e3a001127383600663ed30390d9bc779cb4d1762ea6",
"bytes": 5653
},
{
"path": "UnitTests/ShapeTest.fs",
"sha256": "5d9488ee05408ec814f021f13d87c3c77f745f851fd8c704c6ef97a2ca4a7192",
"bytes": 19409
},
{
"path": "UnitTests/TransformationTest.fs",
"sha256": "dd6d3a623dc463b6d67b3a0d12c2c2736eb72e7f79ba55d3d18d4aa5b2148040",
"bytes": 8182
},
{
"path": "UnitTests/UnitTests.fsproj",
"sha256": "4c4daabd6d95c57a648df0010abc1dc45a0047210e317b0ea617313c749e6b2e",
"bytes": 1587
},
{
"path": "UnitTests/packages.config",
"sha256": "8345d499882d0c22eb48754f2ba271b773414459a6d2bdc8fb43b4882b5ba468",
"bytes": 142
},
{
"path": "UnitTests/packages.lock.json",
"sha256": "875be7c920aec172bd8a5c844d2a950e241dca858c2f65635ce389db89bf003f",
"bytes": 1436
},
{
"path": "benchmarks/BENCHMARKS.md",
"sha256": "6d843201ed14498f73480f17f969658fcda87e5f7cf47587a739bb77e3ecd772",
"bytes": 15000
},
{
"path": "benchmarks/gold-dragon.json",
"sha256": "fc5a7e3962144f45b9d559ac2a0d573eaa3d25dbb70a675444e40e228fbc67b9",
"bytes": 1344
},
{
"path": "benchmarks/legacy/LegacyRayTracer.fsproj",
"sha256": "04fa2165384129ddd83b5279956920959e8de5ff2550fec455a14295572de091",
"bytes": 4965
},
{
"path": "benchmarks/legacy/README.md",
"sha256": "2af6d4345fd99ecccaa85f3ef59e8574d15288298abca3bcda4dc7312ca99f22",
"bytes": 3992
},
{
"path": "benchmarks/legacy/Runner/LegacyRunner.fsproj",
"sha256": "1b82fed7bc33fccad2514048f80f32be3dd45b17dec315f992def5a7f60fac81",
"bytes": 866
},
{
"path": "benchmarks/legacy/Runner/packages.lock.json",
"sha256": "cb3479bf5062d82549e852052bf6f384835249c1c34d4dd707707f3c3f369a3a",
"bytes": 1580
},
{
"path": "benchmarks/legacy/adapted/Acceleration/RegularGrids.fs",
"sha256": "0030bcdcf4520f711e89971133cd8e34d7cd8ba58a47376e718fb2024ff1b8a8",
"bytes": 9453
},
{
"path": "benchmarks/legacy/adapted/Core/Foundation.fs",
"sha256": "47f9b93fab5b165acb1c665f6e0b43d445fb0af71df56b3112d8ec7a2ff318f9",
"bytes": 4768
},
{
"path": "benchmarks/legacy/adapted/Core/Vector.fs",
"sha256": "1ace79558b6f799c3f1355d646ad4f6ec83c174c07df86c77656cd3de3ba10dd",
"bytes": 2710
},
{
"path": "benchmarks/legacy/adapted/Render.fs",
"sha256": "0040ec8a580e32d9799556af32010024e27bfc46863c49f32e693dffc1cd8394",
"bytes": 8985
},
{
"path": "benchmarks/legacy/adapted/Sampling/Sampling.fs",
"sha256": "13bb63faa77e71ed0265e8b4dd1802a5457e06aecbf1313d78e4d1bb0ac662bd",
"bytes": 15606
},
{
"path": "benchmarks/legacy/adapted/Sampling/Sampling.fsi",
"sha256": "12ccfa2d685fe85fd07da5485874a05810372e517fe473f6487a44a09a5c9a26",
"bytes": 603
},
{
"path": "benchmarks/legacy/baseline.json",
"sha256": "c9b7542c80afbe961d904e61bfbaa842524fdc7446019953154efddf496d9ba0",
"bytes": 565
},
{
"path": "benchmarks/legacy/original/RayTracer/API.fs",
"sha256": "97dc6097f629a918cf2f821a9060f37eefa913e8deed17ac671c11064908dca0",
"bytes": 10044
},
{
"path": "benchmarks/legacy/original/RayTracer/API.fsi",
"sha256": "62eab4d1c9b3d0e5cebce8d7c72cea9ba2ccb09c8547c3c8a086a8b0f49fe885",
"bytes": 14359
},
{
"path": "benchmarks/legacy/original/RayTracer/API/API.fs",
"sha256": "06335940c3bcf7b10095c1b2241c77b7566eb954c76969fe7391de88bf012c47",
"bytes": 10057
},
{
"path": "benchmarks/legacy/original/RayTracer/API/API.fsi",
"sha256": "9db49c4c48bcb8550aa5f786df4e70ab032985ebd24602a6b55a5243d5e14e18",
"bytes": 14387
},
{
"path": "benchmarks/legacy/original/RayTracer/Acceleration/Acceleration.fs",
"sha256": "2749f2a8651e80f56011ebac8610c84a4ecbe8507699806d842ca76c4d34fd41",
"bytes": 2214
},
{
"path": "benchmarks/legacy/original/RayTracer/Acceleration/BVH.fs",
"sha256": "a83ba4d0fe4ed26eac747a8c7564801114ae0ad611d29c46b6c9339055456594",
"bytes": 10503
},
{
"path": "benchmarks/legacy/original/RayTracer/Acceleration/KDTree.fs",
"sha256": "d4da8373ba71efcab40633733b48e3fb14d695449af8be751f88ea860b807cbb",
"bytes": 16188
},
{
"path": "benchmarks/legacy/original/RayTracer/Acceleration/RegularGrids.fs",
"sha256": "184d13d1d2bb46b517c42654f6ef7f2dd69239a34e0d8ccc2720e230b500a09c",
"bytes": 9449
},
{
"path": "benchmarks/legacy/original/RayTracer/App.config",
"sha256": "8173d4d17cb728e6f2c5e2ce8124ce7eb0f459dc62085bcaab786abf1f6b37a7",
"bytes": 184
},
{
"path": "benchmarks/legacy/original/RayTracer/AssemblyInfo.fs",
"sha256": "076327f6c028480a9e7bda7ae14cafeb70375cbb6d1c9d6ed74522005d3a78c7",
"bytes": 1448
},
{
"path": "benchmarks/legacy/original/RayTracer/Camera/Camera.fs",
"sha256": "ae7ae69898a1a49b64de0b57572b207f49786120c4bdb1210cc79df2a7f1db71",
"bytes": 877
},
{
"path": "benchmarks/legacy/original/RayTracer/Camera/PinholeCamera.fs",
"sha256": "b6467decd58d4682e9519607d58ec8c43dfb49bc7150d83db22792fd2f4b64b0",
"bytes": 773
},
{
"path": "benchmarks/legacy/original/RayTracer/Camera/ThinLensCamera.fs",
"sha256": "39667f841c6032c16660c5070160a3a2427e2373934ebd0d4762d0c9ee6d5925",
"bytes": 1408
},
{
"path": "benchmarks/legacy/original/RayTracer/Core/BBox.fs",
"sha256": "157eb519a89fa76650dc084ad25e87f75434efc805badac217907058b662c4db",
"bytes": 4075
},
{
"path": "benchmarks/legacy/original/RayTracer/Core/Colour.fs",
"sha256": "ac3a0ae068a72bacfbcd257e15cd088d4eae95766d12a20b2e19bd8e37bb1131",
"bytes": 2459
},
{
"path": "benchmarks/legacy/original/RayTracer/Core/Foundation.fs",
"sha256": "82fdb5e1214a695adb343366e9e4aa6b07533ba30a8b854954407180c00d3114",
"bytes": 4789
},
{
"path": "benchmarks/legacy/original/RayTracer/Core/Point.fs",
"sha256": "49808bd59e0db631068f8b301bc06ca68593773f1ad5218d9974259d66774e00",
"bytes": 2949
},
{
"path": "benchmarks/legacy/original/RayTracer/Core/Ray.fs",
"sha256": "0bfaac6cbdb91e984497ba08b7604c0d43e63974f8dcdeb1f6470fb7320bab71",
"bytes": 908
},
{
"path": "benchmarks/legacy/original/RayTracer/Core/Vector.fs",
"sha256": "915d797dc8ce3401c9a99fb523c0dc645c4d537b935b6bd3ee6a9c441b531ee4",
"bytes": 2701
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprParse.fs",
"sha256": "7f44183929596f3029a05d76c91d3fd05213200f0c5a5e82db6972a4b55cddc3",
"bytes": 7434
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprParse.fsi",
"sha256": "a0ecc9a21cc3bd40c62192881a82c4e2b304f4ba34347c7bce763f3ecfbc7c27",
"bytes": 658
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprToPoly.fs",
"sha256": "0205831b3bdc58baa0fff89e89a34f4df4a845803cc82e6d506e1410ef989fd4",
"bytes": 12973
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ExprToPoly.fsi",
"sha256": "f81a02ec47a4392c4da91fbc44224f440a06d52178dadc453aa06262e3985f69",
"bytes": 874
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ImplicitSurfaces.fs",
"sha256": "dcd19ca89049bad1eb74bc2445e8192ccb41aa3ed452f744b807e9f9761e10ea",
"bytes": 9928
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/ImplicitSurfaces.fsi",
"sha256": "a5af79c03baf0373dcca3eefe8a9c606e56a8824287f2282de8e54edb51adcca",
"bytes": 752
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/PolyToUnipoly.fs",
"sha256": "e8b724f87efaf9d13ca13258062b350b983aa14d387b977cc9988dbc1e322070",
"bytes": 7839
},
{
"path": "benchmarks/legacy/original/RayTracer/ImplicitSurfaces/PolyToUnipoly.fsi",
"sha256": "ab96411c7996bf25c2468c4a3301a3b8c1751b96f97def5b20c32eac119a2817",
"bytes": 874
},
{
"path": "benchmarks/legacy/original/RayTracer/Lights/AreaLight.fs",
"sha256": "5e2a18fd846b802489f5fd0a76cf15e03f271e463b58bbbfe9240b420e79010a",
"bytes": 6687
},
{
"path": "benchmarks/legacy/original/RayTracer/Lights/BasicLight.fs",
"sha256": "0d176b69b1ab5fa2bc103c03896c0a2b697eb8e9a601cb203ae7afea66cf6bef",
"bytes": 1274
},
{
"path": "benchmarks/legacy/original/RayTracer/Lights/GlobalLight.fs",
"sha256": "f5fd1cd76bdb20fe2348ec5f1ae50ce9cc54b0dfba9391301425654e8e26b7f3",
"bytes": 2350
},
{
"path": "benchmarks/legacy/original/RayTracer/Materials/Materials.fs",
"sha256": "633504c0cd6e64b1fef47fbbf61abf47e478043a29207129116a8b78d578b976",
"bytes": 13925
},
{
"path": "benchmarks/legacy/original/RayTracer/Materials/Textures.fs",
"sha256": "e7971d6e0b3697c7da75e7af97d78b8bee9cdfbbf8f55247a421635b1402b0e2",
"bytes": 296
},
{
"path": "benchmarks/legacy/original/RayTracer/Materials/Textures.fsi",
"sha256": "a167a98b1eb95cf7e3ed56890c6bd668dd67d1faa3dcd8b48eb428ab181ff71a",
"bytes": 268
},
{
"path": "benchmarks/legacy/original/RayTracer/Program2.fs",
"sha256": "f4620ea9b3ab45100cd31701cf757a2dfa8308cf5f152b091e290e5507d8117e",
"bytes": 5398
},
{
"path": "benchmarks/legacy/original/RayTracer/RayTracer.fsproj",
"sha256": "f2a654e1d895c8c8d298f5867d0e87246ab142874148b6335c9fc0ad0384de50",
"bytes": 7499
},
{
"path": "benchmarks/legacy/original/RayTracer/Render.fs",
"sha256": "aadd7394df97eedf466e28883620ec755446e0633fa4144ca18b9cd1a5d6ab3a",
"bytes": 9849
},
{
"path": "benchmarks/legacy/original/RayTracer/Sampling/Sampling.fs",
"sha256": "1dd97552b308fa7d7ca6824dbab59ef081a6508fa2993fad9eaa2fbf8e7d09f7",
"bytes": 15542
},
{
"path": "benchmarks/legacy/original/RayTracer/Sampling/Sampling.fsi",
"sha256": "12ccfa2d685fe85fd07da5485874a05810372e517fe473f6487a44a09a5c9a26",
"bytes": 603
},
{
"path": "benchmarks/legacy/original/RayTracer/Scene.fs",
"sha256": "8d9b0b3164c0e343d6468f54c3a3764cb08b6c040f4979360179a05f55d04f8a",
"bytes": 633
},
{
"path": "benchmarks/legacy/original/RayTracer/Shapes/BaseShape.fs",
"sha256": "4350d846a61ebdfa46a77d8cf648aa0573a23a83fa5c6a844187a915be594eb0",
"bytes": 1762
},
{
"path": "benchmarks/legacy/original/RayTracer/Shapes/CSG.fs",
"sha256": "d91d28e781ccb89952fedad26102aca5a373565e8ecfcb49a9a5560393c1f336",
"bytes": 13405
},
{
"path": "benchmarks/legacy/original/RayTracer/Shapes/Shapes.fs",
"sha256": "e8c36d34283a06561c17df2836517617bd663402a3f715d7fb063e4ae7136690",
"bytes": 29195
},
{
"path": "benchmarks/legacy/original/RayTracer/Transformation/Transformation.fs",
"sha256": "886884b38a6c6bc8f7c789882b9c6a7113fb1ca957f1cdce7c0a3846c73ac63d",
"bytes": 7252
},
{
"path": "benchmarks/legacy/original/RayTracer/Transformation/Transformation.fsi",
"sha256": "d806275f5289fa8bb47f033b8e07a64f6b603c20ffb3d0b677e20e5cdf6feb14",
"bytes": 1034
},
{
"path": "benchmarks/legacy/original/RayTracer/TriangleMesh/PLYParser.fs",
"sha256": "389a2b72e86df597489bad34c87fff5e4acb3a50e4f3f75419c9b86e23b36099",
"bytes": 11762
},
{
"path": "benchmarks/legacy/original/RayTracer/TriangleMesh/TriangleMesh.fs",
"sha256": "8ae87526409ddf043c0f176dc277438c33ba049e7c22f36e179bb98cd8659801",
"bytes": 5511
},
{
"path": "benchmarks/legacy/original/RayTracer/TriangleMeshes/PLYParser.fs",
"sha256": "ab935fe6ea41f54aa4e60bae203c74bdfbeb3855f3432d52ff2c424aa25f82f9",
"bytes": 11748
},
{
"path": "benchmarks/legacy/original/RayTracer/TriangleMeshes/TriangleMes.fs",
"sha256": "97c76e42d47a7842983cd5dbca5e4bb99d1fba3d16f9f3ff4c6fbf0d691a815f",
"bytes": 5803
},
{
"path": "benchmarks/legacy/original/RayTracer/packages.config",
"sha256": "8345d499882d0c22eb48754f2ba271b773414459a6d2bdc8fb43b4882b5ba468",
"bytes": 142
},
{
"path": "benchmarks/legacy/packages.lock.json",
"sha256": "0ff1eeeed5e7286beb426f89e0af6c931b0173b415bb1890c40aee1bcd7aebf3",
"bytes": 1258
},
{
"path": "benchmarks/legacy/portability.json",
"sha256": "7e45e991da594f03af9d5aa32063a9753303e38d80999baeb7445351b59325d2",
"bytes": 5668
},
{
"path": "benchmarks/legacy/prepare-port.fsx",
"sha256": "18084fbba4c26b6345faaddcce9e2e65f978bc180c7875b20a4169d5a86f6e7c",
"bytes": 10461
},
{
"path": "benchmarks/legacy/proof.fsx",
"sha256": "403586f706f5b80870ed236c5e0337f35a4d522d6a5f9dfa7400a5cefaed03f5",
"bytes": 4209
},
{
"path": "benchmarks/legacy/source.sha256",
"sha256": "e16be33a22219bf6a61a41b10eb407db9601b02e8ec37bbb5dce49574beb20fa",
"bytes": 6205
},
{
"path": "benchmarks/scenes/chair.json",
"sha256": "ce33b5f08b535ff21d44640557c93e295fcae9af1679cafb5cf84391f010ff4b",
"bytes": 28262
},
{
"path": "benchmarks/scenes/material-lab.json",
"sha256": "bf764d906f1812d17924bb2df0e8c8d46eed43ec1a7400ff44cb4100c2d1f051",
"bytes": 13119
},
{
"path": "benchmarks/scenes/provenance.json",
"sha256": "6ff0822cf0253c50fe4a09c607fcf5e65c264ebeea06a308e0951d65adeb9dbe",
"bytes": 38990
},
{
"path": "benchmarks/scenes/roman-bust.json",
"sha256": "b8074042499dcf0f3dd1b601a179ba33ff316ccbf6409d74c3f4ef38e5da3f8c",
"bytes": 50954
},
{
"path": "benchmarks/scenes/sky-arena.json",
"sha256": "6bc23ff6ec29a955201bf492a5b7660415e64d0e7a27a2e75d960576e7b57805",
"bytes": 59686
},
{
"path": "benchmarks/scenes/space-sentinel.json",
"sha256": "8036b0353a9d002df6fe71b8751a794c88eaa5167b43534cef550cf29a16d65e",
"bytes": 31942
},
{
"path": "global.json",
"sha256": "c39786ab1a147662bbe4db015f900165178875ec4a872ddae53bc0c90771ac34",
"bytes": 105
},
{
"path": "scripts/BenchmarkData.fs",
"sha256": "dcfb59f72b28231c561c734a2da36c49ac08dad3ab168c963c1c78f1f5e0faa2",
"bytes": 20668
},
{
"path": "scripts/BenchmarkReport.fs",
"sha256": "d26acc52abbc439d17b22e4e4088a717853b16be3604b657a7a7b1b97ab8602a",
"bytes": 20745
},
{
"path": "scripts/benchmark-builder-tests.fsx",
"sha256": "e9f82ae19bb962f9ea751ba51f214d835e5a902f753335847c3b3cffc18d106a",
"bytes": 3181
},
{
"path": "scripts/benchmark-tests.fsx",
"sha256": "eb1462bedf5da1a63570f7c56b11814be65e73da5c8016d583397e45eb496d4f",
"bytes": 9579
},
{
"path": "scripts/benchmark-worker-tests.fsx",
"sha256": "7e3ab422431b8cf99ac6afff9a8ecb222395e9738cc4e37ed96fdeeb2c1c4738",
"bytes": 14416
},
{
"path": "scripts/benchmark.fsx",
"sha256": "4881bab3cad699cdedbeb30d27f4b1fbf0f0e288e6953b6fb785ebc4e72c3a4f",
"bytes": 38997
},
{
"path": "scripts/prepare-gold-dragon.fsx",
"sha256": "29904b83e01ffce200f6fd15635b39369a63592b8109bf008a7a2f1eb4d70894",
"bytes": 4427
}
],
"dotnet": "/home/movj/.dotnet/dotnet",
"sdk": ".NET SDK:\n Version: 10.0.400\n Commit: 14fbf8d527\n Workload version: 10.0.400-manifests.330ea142\n MSBuild version: 18.9.6\u002B14fbf8d52\n\nRuntime Environment:\n OS Name: ubuntu\n OS Version: 24.04\n OS Platform: Linux\n RID: linux-x64\n Base Path: /home/movj/.dotnet/sdk/10.0.400/\n\n.NET workloads installed:\nThere are no installed workloads to display.\nConfigured to use workload sets when installing new manifests.\nNo workload sets are installed. Run \u0022dotnet workload restore\u0022 to install a workload set.\n\nHost:\n Version: 10.0.11\n Architecture: x64\n Commit: e2f47b0110\n\n.NET SDKs installed:\n 10.0.400 [/home/movj/.dotnet/sdk]\n\n.NET runtimes installed:\n Microsoft.AspNetCore.App 10.0.11 [/home/movj/.dotnet/shared/Microsoft.AspNetCore.App]\n Microsoft.NETCore.App 10.0.11 [/home/movj/.dotnet/shared/Microsoft.NETCore.App]\n\nOther architectures found:\n None\n\nEnvironment variables:\n Not set\n\nglobal.json file:\n /home/movj/code/dev/Ray_Tracer_FSharp/global.json\n\nLearn more:\n https://aka.ms/dotnet/info\n\nDownload .NET:\n https://aka.ms/dotnet/download",
"operatingSystem": "Ubuntu 24.04.2 LTS",
"architecture": "X64",
"cpu": "model name\t: Intel(R) Core(TM) Ultra 9 185H",
"gpuProbe": "NVIDIA RTX 3000 Ada Generation Laptop GPU, GPU-4acd4a56-4d85-7590-4669-043d3263a13b, 596.47, 8188 MiB",
"runtimeEnvironment": [
"DOTNET_TieredCompilation=\u003Cunset\u003E",
"DOTNET_TC_QuickJit=\u003Cunset\u003E",
"DOTNET_TC_QuickJitForLoops=\u003Cunset\u003E",
"DOTNET_ReadyToRun=\u003Cunset\u003E",
"DOTNET_gcServer=\u003Cunset\u003E",
"DOTNET_GCHeapHardLimit=\u003Cunset\u003E",
"DOTNET_PROCESSOR_COUNT=\u003Cunset\u003E",
"COMPlus_TieredCompilation=\u003Cunset\u003E",
"COMPlus_ReadyToRun=\u003Cunset\u003E",
"COMPlus_gcServer=\u003Cunset\u003E",
"CUDA_VISIBLE_DEVICES=\u003Cunset\u003E"
],
"dependencies": [
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/Basics.dll",
"sha256": "cab9d8e5adb635c3e0ae04de69cbe62fc76ab1af6e69796b6da5eb453309704e",
"bytes": 401408
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/BenchmarkRunner.deps.json",
"sha256": "0dbbaa70c4dbb918c318fd1aa5525e9bb5933f016b61763572a47dd790c41729",
"bytes": 5818
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/BenchmarkRunner.dll",
"sha256": "c14faf6b33925e5185a82c7f449dadd755f1a6538cd2cdb71458ff31cf6ea65a",
"bytes": 57856
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/BenchmarkRunner.runtimeconfig.json",
"sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f",
"bytes": 330
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/FParsec.dll",
"sha256": "147154cd8e33699c1458cd7653b78d6c93c2ea272e9aeb3f838af95af2a82b23",
"bytes": 241152
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/FParsecCS.dll",
"sha256": "1822de41fcf78bf92de841f03e9a5c78db7fb1eb19cf699f78e06f064e0d4013",
"bytes": 104448
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/FSharp.Core.dll",
"sha256": "63797dea63b00ca2081d71827cecbb5425956886b4c3b06947e7ae561a43e366",
"bytes": 2405672
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/RayTracer.ImageIO.dll",
"sha256": "449f305e2c3411ec46225eaf1a3b72bc9edbe2492a8c8d74acc376972b98521d",
"bytes": 10752
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/SceneFormat.dll",
"sha256": "76b5d3eb851e95ccacd3c52f595c3384061a0b5a6089f83718e18a3ce9a57242",
"bytes": 69120
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/StbImageSharp.dll",
"sha256": "0ff268f51876e7924192c70a164bac8da402ed0a3ca30e9d2a2840e7f0deda84",
"bytes": 77312
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/BenchmarkRunner/bin/Release/net10.0/StbImageWriteSharp.dll",
"sha256": "70921000beb9ca762a8acdb93ac6f6c39db8a351a6fa12aca3eddbc652855f04",
"bytes": 37376
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/FParsec.dll",
"sha256": "147154cd8e33699c1458cd7653b78d6c93c2ea272e9aeb3f838af95af2a82b23",
"bytes": 241152
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/FParsecCS.dll",
"sha256": "1822de41fcf78bf92de841f03e9a5c78db7fb1eb19cf699f78e06f064e0d4013",
"bytes": 104448
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/FSharp.Core.dll",
"sha256": "63797dea63b00ca2081d71827cecbb5425956886b4c3b06947e7ae561a43e366",
"bytes": 2405672
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/LegacyRayTracer.dll",
"sha256": "8c2a2648ba2515892e817cd1707750ac4b66ec00f179804bade0be0f1f220c87",
"bytes": 279040
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/LegacyRunner.deps.json",
"sha256": "075759d775d58a242a3afbb1d21f66fe1979c0fb66f1762dfff3bbca312a5b2c",
"bytes": 5538
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/LegacyRunner.dll",
"sha256": "605cea80c5242cb81bfc9b56e0b65ee92956ada719ecbf0dafdcf4fe25d6de06",
"bytes": 58880
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/LegacyRunner.runtimeconfig.json",
"sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f",
"bytes": 330
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/RayTracer.ImageIO.dll",
"sha256": "449f305e2c3411ec46225eaf1a3b72bc9edbe2492a8c8d74acc376972b98521d",
"bytes": 10752
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/SceneFormat.dll",
"sha256": "76b5d3eb851e95ccacd3c52f595c3384061a0b5a6089f83718e18a3ce9a57242",
"bytes": 69120
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/StbImageSharp.dll",
"sha256": "0ff268f51876e7924192c70a164bac8da402ed0a3ca30e9d2a2840e7f0deda84",
"bytes": 77312
},
{
"path": "/home/movj/code/dev/Ray_Tracer_FSharp/benchmarks/legacy/Runner/bin/Release/net10.0/StbImageWriteSharp.dll",
"sha256": "70921000beb9ca762a8acdb93ac6f6c39db8a351a6fa12aca3eddbc652855f04",
"bytes": 37376
}
],
"dependencyDescriptions": [
"{\n \u0022runtimeTarget\u0022: {\n \u0022name\u0022: \u0022.NETCoreApp,Version=v10.0\u0022,\n \u0022signature\u0022: \u0022\u0022\n },\n \u0022compilationOptions\u0022: {},\n \u0022targets\u0022: {\n \u0022.NETCoreApp,Version=v10.0\u0022: {\n \u0022BenchmarkRunner/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022Basics\u0022: \u00221.0.0\u0022,\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n \u0022RayTracer.ImageIO\u0022: \u00221.0.0\u0022,\n \u0022SceneFormat\u0022: \u00221.0.0\u0022,\n \u0022Basics.Reference\u0022: \u00221.0.0.0\u0022\n },\n \u0022runtime\u0022: {\n \u0022BenchmarkRunner.dll\u0022: {}\n }\n },\n \u0022FParsec/1.1.1\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022\n },\n \u0022runtime\u0022: {\n \u0022lib/netstandard2.0/FParsec.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.1.1.0\u0022,\n \u0022fileVersion\u0022: \u00221.1.1.0\u0022\n },\n \u0022lib/netstandard2.0/FParsecCS.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.1.1.0\u0022,\n \u0022fileVersion\u0022: \u00221.1.1.0\u0022\n }\n }\n },\n \u0022FSharp.Core/10.1.400\u0022: {\n \u0022runtime\u0022: {\n \u0022lib/netstandard2.1/FSharp.Core.dll\u0022: {\n \u0022assemblyVersion\u0022: \u002210.1.0.0\u0022,\n \u0022fileVersion\u0022: \u002210.104.26.38015\u0022\n }\n },\n \u0022resources\u0022: {\n \u0022lib/netstandard2.1/cs/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022cs\u0022\n },\n \u0022lib/netstandard2.1/de/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022de\u0022\n },\n \u0022lib/netstandard2.1/es/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022es\u0022\n },\n \u0022lib/netstandard2.1/fr/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022fr\u0022\n },\n \u0022lib/netstandard2.1/it/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022it\u0022\n },\n \u0022lib/netstandard2.1/ja/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022ja\u0022\n },\n \u0022lib/netstandard2.1/ko/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022ko\u0022\n },\n \u0022lib/netstandard2.1/pl/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022pl\u0022\n },\n \u0022lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022pt-BR\u0022\n },\n \u0022lib/netstandard2.1/ru/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022ru\u0022\n },\n \u0022lib/netstandard2.1/tr/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022tr\u0022\n },\n \u0022lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022zh-Hans\u0022\n },\n \u0022lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022zh-Hant\u0022\n }\n }\n },\n \u0022StbImageSharp/2.30.16\u0022: {\n \u0022runtime\u0022: {\n \u0022lib/net8.0/StbImageSharp.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00222.30.16.0\u0022,\n \u0022fileVersion\u0022: \u00222.30.16.0\u0022\n }\n }\n },\n \u0022StbImageWriteSharp/1.16.7\u0022: {\n \u0022runtime\u0022: {\n \u0022lib/netstandard2.0/StbImageWriteSharp.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.16.7.0\u0022,\n \u0022fileVersion\u0022: \u00221.16.7.0\u0022\n }\n }\n },\n \u0022Basics/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FParsec\u0022: \u00221.1.1\u0022,\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n \u0022RayTracer.ImageIO\u0022: \u00221.0.0\u0022\n },\n \u0022runtime\u0022: {\n \u0022Basics.dll\u0022: {\n \u0022fileVersion\u0022: \u00220.0.0.0\u0022\n }\n }\n },\n \u0022RayTracer.ImageIO/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n \u0022StbImageSharp\u0022: \u00222.30.16\u0022,\n \u0022StbImageWriteSharp\u0022: \u00221.16.7\u0022\n },\n \u0022runtime\u0022: {\n \u0022RayTracer.ImageIO.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.0.0.0\u0022,\n \u0022fileVersion\u0022: \u00221.0.0.0\u0022\n }\n }\n },\n \u0022SceneFormat/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022\n },\n \u0022runtime\u0022: {\n \u0022SceneFormat.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.0.0.0\u0022,\n \u0022fileVersion\u0022: \u00221.0.0.0\u0022\n }\n }\n },\n \u0022Basics.Reference/1.0.0.0\u0022: {\n \u0022runtime\u0022: {\n \u0022Basics.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.0.0.0\u0022,\n \u0022fileVersion\u0022: \u00221.0.0.0\u0022\n }\n }\n }\n }\n },\n \u0022libraries\u0022: {\n \u0022BenchmarkRunner/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022FParsec/1.1.1\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-Wdjf/gCNLEwd\u002B0nUCDh9jAIIcKGwfhRramySTnTcVVgNC6i4Vp5aJklUJJfvFkEZMYNZEDGcI8pCa36/TmwmSg==\u0022,\n \u0022path\u0022: \u0022fparsec/1.1.1\u0022,\n \u0022hashPath\u0022: \u0022fparsec.1.1.1.nupkg.sha512\u0022\n },\n \u0022FSharp.Core/10.1.400\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-mxCkXuBt4wyRMmHf4boZXm30zZZsjBt3\u002B9ISzXB8wFvJJAACrPPh9vj85Kqtxj/2FvDxAQnnRnJpNcJSXElhgA==\u0022,\n \u0022path\u0022: \u0022fsharp.core/10.1.400\u0022,\n \u0022hashPath\u0022: \u0022fsharp.core.10.1.400.nupkg.sha512\u0022\n },\n \u0022StbImageSharp/2.30.16\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-qg1i\u002BNHihXVKLKYacGKrauhSQIGL31eBWcTC4Vc7jnGmBFj87LkRuCdXB5aDZisWMRnB6x2mcfwYXQxMWEG/lw==\u0022,\n \u0022path\u0022: \u0022stbimagesharp/2.30.16\u0022,\n \u0022hashPath\u0022: \u0022stbimagesharp.2.30.16.nupkg.sha512\u0022\n },\n \u0022StbImageWriteSharp/1.16.7\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-NF9kOxi0iS9VunklnRKgOpAWC2knCGKRjdy7RT6XAqYNyb7LQfyPHPdl4l1fJw7TFYKrGQzQOmK1XpBONC2MoA==\u0022,\n \u0022path\u0022: \u0022stbimagewritesharp/1.16.7\u0022,\n \u0022hashPath\u0022: \u0022stbimagewritesharp.1.16.7.nupkg.sha512\u0022\n },\n \u0022Basics/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022RayTracer.ImageIO/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022SceneFormat/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022Basics.Reference/1.0.0.0\u0022: {\n \u0022type\u0022: \u0022reference\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n }\n }\n}",
"{\n \u0022runtimeTarget\u0022: {\n \u0022name\u0022: \u0022.NETCoreApp,Version=v10.0\u0022,\n \u0022signature\u0022: \u0022\u0022\n },\n \u0022compilationOptions\u0022: {},\n \u0022targets\u0022: {\n \u0022.NETCoreApp,Version=v10.0\u0022: {\n \u0022LegacyRunner/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n \u0022LegacyRayTracer\u0022: \u00221.0.0\u0022,\n \u0022RayTracer.ImageIO\u0022: \u00221.0.0\u0022,\n \u0022SceneFormat\u0022: \u00221.0.0\u0022\n },\n \u0022runtime\u0022: {\n \u0022LegacyRunner.dll\u0022: {}\n }\n },\n \u0022FParsec/1.1.1\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022\n },\n \u0022runtime\u0022: {\n \u0022lib/netstandard2.0/FParsec.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.1.1.0\u0022,\n \u0022fileVersion\u0022: \u00221.1.1.0\u0022\n },\n \u0022lib/netstandard2.0/FParsecCS.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.1.1.0\u0022,\n \u0022fileVersion\u0022: \u00221.1.1.0\u0022\n }\n }\n },\n \u0022FSharp.Core/10.1.400\u0022: {\n \u0022runtime\u0022: {\n \u0022lib/netstandard2.1/FSharp.Core.dll\u0022: {\n \u0022assemblyVersion\u0022: \u002210.1.0.0\u0022,\n \u0022fileVersion\u0022: \u002210.104.26.38015\u0022\n }\n },\n \u0022resources\u0022: {\n \u0022lib/netstandard2.1/cs/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022cs\u0022\n },\n \u0022lib/netstandard2.1/de/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022de\u0022\n },\n \u0022lib/netstandard2.1/es/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022es\u0022\n },\n \u0022lib/netstandard2.1/fr/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022fr\u0022\n },\n \u0022lib/netstandard2.1/it/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022it\u0022\n },\n \u0022lib/netstandard2.1/ja/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022ja\u0022\n },\n \u0022lib/netstandard2.1/ko/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022ko\u0022\n },\n \u0022lib/netstandard2.1/pl/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022pl\u0022\n },\n \u0022lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022pt-BR\u0022\n },\n \u0022lib/netstandard2.1/ru/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022ru\u0022\n },\n \u0022lib/netstandard2.1/tr/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022tr\u0022\n },\n \u0022lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022zh-Hans\u0022\n },\n \u0022lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll\u0022: {\n \u0022locale\u0022: \u0022zh-Hant\u0022\n }\n }\n },\n \u0022StbImageSharp/2.30.16\u0022: {\n \u0022runtime\u0022: {\n \u0022lib/net8.0/StbImageSharp.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00222.30.16.0\u0022,\n \u0022fileVersion\u0022: \u00222.30.16.0\u0022\n }\n }\n },\n \u0022StbImageWriteSharp/1.16.7\u0022: {\n \u0022runtime\u0022: {\n \u0022lib/netstandard2.0/StbImageWriteSharp.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.16.7.0\u0022,\n \u0022fileVersion\u0022: \u00221.16.7.0\u0022\n }\n }\n },\n \u0022LegacyRayTracer/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FParsec\u0022: \u00221.1.1\u0022,\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n \u0022RayTracer.ImageIO\u0022: \u00221.0.0\u0022\n },\n \u0022runtime\u0022: {\n \u0022LegacyRayTracer.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.0.0.0\u0022,\n \u0022fileVersion\u0022: \u00221.0.0.0\u0022\n }\n }\n },\n \u0022RayTracer.ImageIO/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n \u0022StbImageSharp\u0022: \u00222.30.16\u0022,\n \u0022StbImageWriteSharp\u0022: \u00221.16.7\u0022\n },\n \u0022runtime\u0022: {\n \u0022RayTracer.ImageIO.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.0.0.0\u0022,\n \u0022fileVersion\u0022: \u00221.0.0.0\u0022\n }\n }\n },\n \u0022SceneFormat/1.0.0\u0022: {\n \u0022dependencies\u0022: {\n \u0022FSharp.Core\u0022: \u002210.1.400\u0022\n },\n \u0022runtime\u0022: {\n \u0022SceneFormat.dll\u0022: {\n \u0022assemblyVersion\u0022: \u00221.0.0.0\u0022,\n \u0022fileVersion\u0022: \u00221.0.0.0\u0022\n }\n }\n }\n }\n },\n \u0022libraries\u0022: {\n \u0022LegacyRunner/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022FParsec/1.1.1\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-Wdjf/gCNLEwd\u002B0nUCDh9jAIIcKGwfhRramySTnTcVVgNC6i4Vp5aJklUJJfvFkEZMYNZEDGcI8pCa36/TmwmSg==\u0022,\n \u0022path\u0022: \u0022fparsec/1.1.1\u0022,\n \u0022hashPath\u0022: \u0022fparsec.1.1.1.nupkg.sha512\u0022\n },\n \u0022FSharp.Core/10.1.400\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-mxCkXuBt4wyRMmHf4boZXm30zZZsjBt3\u002B9ISzXB8wFvJJAACrPPh9vj85Kqtxj/2FvDxAQnnRnJpNcJSXElhgA==\u0022,\n \u0022path\u0022: \u0022fsharp.core/10.1.400\u0022,\n \u0022hashPath\u0022: \u0022fsharp.core.10.1.400.nupkg.sha512\u0022\n },\n \u0022StbImageSharp/2.30.16\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-qg1i\u002BNHihXVKLKYacGKrauhSQIGL31eBWcTC4Vc7jnGmBFj87LkRuCdXB5aDZisWMRnB6x2mcfwYXQxMWEG/lw==\u0022,\n \u0022path\u0022: \u0022stbimagesharp/2.30.16\u0022,\n \u0022hashPath\u0022: \u0022stbimagesharp.2.30.16.nupkg.sha512\u0022\n },\n \u0022StbImageWriteSharp/1.16.7\u0022: {\n \u0022type\u0022: \u0022package\u0022,\n \u0022serviceable\u0022: true,\n \u0022sha512\u0022: \u0022sha512-NF9kOxi0iS9VunklnRKgOpAWC2knCGKRjdy7RT6XAqYNyb7LQfyPHPdl4l1fJw7TFYKrGQzQOmK1XpBONC2MoA==\u0022,\n \u0022path\u0022: \u0022stbimagewritesharp/1.16.7\u0022,\n \u0022hashPath\u0022: \u0022stbimagewritesharp.1.16.7.nupkg.sha512\u0022\n },\n \u0022LegacyRayTracer/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022RayTracer.ImageIO/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n },\n \u0022SceneFormat/1.0.0\u0022: {\n \u0022type\u0022: \u0022project\u0022,\n \u0022serviceable\u0022: false,\n \u0022sha512\u0022: \u0022\u0022\n }\n }\n}"
],
"notes": [
"All worker processes execute serially. Each measured repeat is a fresh process; separate warmups do not remove measured JIT/startup cost.",
"legacy-port retains the ineffective legacy random seeding, schedule-dependent samples, shared triangle barycentric races, original transport and forced cleanup GC.",
"DOTNET_PROCESSOR_COUNT is set to requested threads for every worker. Legacy keeps its original Parallel.For scheduling; this is not a per-OS-thread hard cap.",
"Renderer precision and PFM float32 storage precision differ. PFM retains unclamped linear HDR values, not gamma-encoded PNG values.",
"Source digest hashes tracked and nonignored untracked working-tree source, including dirty file contents and missing tracked files; not merely the git SHA.",
"Worker phases marked unavailable are not observations. Failure metrics are retained verbatim but never included as zero-valued timings.",
"Existing/override assemblies were explicitly requested: binary hashes are retained, but this invocation did not establish source-to-binary build correspondence."
]
}Measured phase and memory summaries
Cells: median and interquartile range. Hover for min/max, median absolute deviation and number of observations. Allocation is process-wide managed allocation; memory peaks are not interchangeable with allocations.
| Case | Engine / completion | cold | worker-total | load | build | compile | upload | trace-synchronized | download | encode | cleanup | allocated | peak-working-set | peak-device |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| quick / chair / authored256×256, camera 4, light 1, glossy 1, depth 2; 22 threads, tile 16; float64, regular, gamma2 | cpu1/1 successful | 2440.442 msIQR 2440.442–2440.442 | 2387.169 msIQR 2387.169–2387.169 | 280.096 msIQR 280.096–280.096 | 57.957 msIQR 57.957–57.957 | unavailable | unavailable | 1950.484 msIQR 1950.484–1950.484 | unavailable | 77.718 msIQR 77.718–77.718 | 0.02 msIQR 0.02–0.02 | 7357.5 MiBIQR 7357.5–7357.5 | 92.961 MiBIQR 92.961–92.961 | unavailable |
| quick / chair / authored256×256, camera 4, light 1, glossy 1, depth 2; 22 threads, tile 16; float64, regular, gamma2 | legacy-port1/1 successful | 24740.369 msIQR 24740.369–24740.369 | 24668.17 msIQR 24668.17–24668.17 | 266.05 msIQR 266.05–266.05 | 180.639 msIQR 180.639–180.639 | unavailable | unavailable | 24107.133 msIQR 24107.133–24107.133 | unavailable | 77.87 msIQR 77.87–77.87 | 17.078 msIQR 17.078–17.078 | 105679.319 MiBIQR 105679.319–105679.319 | 103.465 MiBIQR 103.465–103.465 | unavailable |
Before / after gallery
quick / chair / authored
cpu: cold median 2440.442 ms
legacy-port: cold median 24740.369 ms
Matched cold end-to-end median ratio legacy-port/cpu: 10.138× (whole-render comparison, not kernel-only throughput).

Every trial, including failures and separate warmups
| Case / engine | Repeat | Status | Cold wall | Retained artifacts | Diagnostic |
|---|---|---|---|---|---|
| quick / chair / authored / legacy-port | measured 1attempt 1 | success | 24740.369 ms | PNG PFM metrics trial capabilities stdout stderr | |
| quick / chair / authored / cpu | measured 1attempt 1 | success | 2440.442 ms | PNG PFM metrics trial capabilities stdout stderr |