Classic F# renderer: before / after

Requested run complete: 20/20 measured trials succeeded. Warmups are separate and never enter statistics.

Comparison contract. “legacy-port” is the frozen renderer with documented Linux/headless adaptations on this modern .NET runtime, not historical Windows/.NET Framework performance. Corrected CPU/GPU images intentionally differ from legacy defects. Wall-time ratios describe the whole modernization, not a pure algorithm speedup. No CPU fallback or copied image is used for an unavailable GPU.

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 remain coarse: mkPLY may include mesh acceleration in load. Current legacy captures time the original single PreProcessing call in build; trace still includes original per-pixel display conversion and raw capture. Buffer setup, final vertical flip and float packing contribute to encode preparation. Earlier legacy captures also included scene-tree construction in trace. Consult each worker's capability/phase notes before comparing subdivisions; cold wall time includes all of them and remains the inclusive comparison.

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-07T18:40:14.0757636\u002B00:00",
  "repository": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907",
  "gitCommit": "066c59eba68d222d63b373b7e25d408796eb1d12",
  "gitStatus": "M README.md\n 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?? .github/workflows/ci.yml\n?? .github/workflows/gpu-manual.yml\n?? .gitignore\n?? BenchmarkRunner/BenchmarkRunner.fsproj\n?? BenchmarkRunner/Program.fs\n?? BenchmarkRunner/SceneBuilder.fs\n?? BenchmarkRunner/ScenePolicy.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/GeometryTests.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/batching-settings.json\n?? RayTracer.Gpu/Tests/closed-cube.ply\n?? RayTracer.Gpu/Tests/gold-preview-settings.json\n?? RayTracer.Gpu/Tests/multi-jittered-settings.json\n?? RayTracer.Gpu/Tests/nested-glass-scene.json\n?? RayTracer.Gpu/Tests/odd-settings.json\n?? RayTracer.Gpu/Tests/parity-settings.json\n?? RayTracer.Gpu/Tests/sampled-lights-mesh.ply\n?? RayTracer.Gpu/Tests/sampled-lights-scene.json\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/GoldDragon.fsx\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/PERFORMANCE.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/adapted/Transformation/Transformation.fs\n?? benchmarks/legacy/adapted/Transformation/Transformation.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/gold-dragon.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-selection-tests.fsx\n?? scripts/benchmark-tests.fsx\n?? scripts/benchmark-worker-tests.fsx\n?? scripts/benchmark.fsx\n?? scripts/prepare-gold-dragon.fsx\n?? scripts/publish-report.sh\n?? scripts/tune-cpu.fsx",
  "sourceDigest": "90fdb88cbd7c1291b217bf81c68bdc1fdfb51ccd3e15d9bd0c22fb993badf88e",
  "sources": [
    {
      "path": ".github/workflows/ci.yml",
      "sha256": "ecf01e31cd105cad9c10804843e33d395ff2321ad6789635ef1a5427a2499b35",
      "bytes": 1525
    },
    {
      "path": ".github/workflows/gpu-manual.yml",
      "sha256": "fc9bade9de0108ec4b649ed21b9f1e2fc19c623d1b4186cd789e2113cb216982",
      "bytes": 939
    },
    {
      "path": "BenchmarkRunner/BenchmarkRunner.fsproj",
      "sha256": "76d2f25a3d728aa9fa908ff66b460a718adcc0c6b41c6fcea508ab967618fb3a",
      "bytes": 704
    },
    {
      "path": "BenchmarkRunner/Program.fs",
      "sha256": "ed5b7aa844d5566bfb85fa23f76c4f4f7797a2a54879e7658fe8307d67a31589",
      "bytes": 3084
    },
    {
      "path": "BenchmarkRunner/SceneBuilder.fs",
      "sha256": "538ae75e08b4e736529b1d9e87435cc6d0689ac16009704df0d8452356cb32f8",
      "bytes": 14016
    },
    {
      "path": "BenchmarkRunner/ScenePolicy.fs",
      "sha256": "0e28c6d1d9c3a87718967798d73e8f45b674348585d92b7f2f8f26bc1140b6a2",
      "bytes": 1142
    },
    {
      "path": "BenchmarkRunner/Worker.fs",
      "sha256": "fdebc85130b7915787e23e0fc54da092358f9fd712a8289a0f915b865892fc4b",
      "bytes": 16790
    },
    {
      "path": "BenchmarkRunner/packages.lock.json",
      "sha256": "07f8ed76169e1544073b4a47031c7c0fa22ba0facdae215665bc6bf7a0eccbce",
      "bytes": 1571
    },
    {
      "path": "Directory.Build.props",
      "sha256": "bd80f98e6493c2677c5c645c47ca89ecef9f5122d6e5d4cab97278177c69b5d4",
      "bytes": 228
    },
    {
      "path": "README.md",
      "sha256": "35909445eee5a42a01bddcd6d40f695f77dd7143e8aed99bfa55f683c8d503f0",
      "bytes": 8340
    },
    {
      "path": "RayTracer.Gpu/CoreComparison.fs",
      "sha256": "3796667e9a9c717b33ae95badbaf946d86a56077ae30ad295713648c84dad8e9",
      "bytes": 12152
    },
    {
      "path": "RayTracer.Gpu/CudaRenderer.fs",
      "sha256": "8f534fd297f84e4fcada3e75480e87a4a89e24536581e4c6d5cbf60329f2dfa7",
      "bytes": 14387
    },
    {
      "path": "RayTracer.Gpu/CudaRuntime.fs",
      "sha256": "acc7f9a02aae27153f7746ccdf0aa4adc41ae11d786e3c5be874e1cce8e0f2b6",
      "bytes": 950
    },
    {
      "path": "RayTracer.Gpu/DeviceGeometry.fs",
      "sha256": "01bba4bcda7ed6f54c859f48d8c070d66fc6402655a1f9e1bc91ba674297de12",
      "bytes": 8067
    },
    {
      "path": "RayTracer.Gpu/DeviceKernels.fs",
      "sha256": "238cfeea08c620e5a6babdaadd1eb133f53f32b620edf1d02c3065237909990e",
      "bytes": 3705
    },
    {
      "path": "RayTracer.Gpu/DeviceMath.fs",
      "sha256": "a67085a0623575f76e25614cfa91b77a62e6eedaea473df8da3981a7e30f7589",
      "bytes": 6323
    },
    {
      "path": "RayTracer.Gpu/DeviceTransport.fs",
      "sha256": "28c069be368b3979de376e975ecbcf35a87bee9454582d3018d9a43673c9c804",
      "bytes": 17208
    },
    {
      "path": "RayTracer.Gpu/DeviceTypes.fs",
      "sha256": "188d31087e2225db18f4cd1d933e80327c4d169219eead2ecdc93a2ed6e9de44",
      "bytes": 4643
    },
    {
      "path": "RayTracer.Gpu/Gate.fs",
      "sha256": "cc7732fc5fa2e21e091d0e40a7049eb09ebdf82632eea9ebf318f8e5938c8b91",
      "bytes": 9170
    },
    {
      "path": "RayTracer.Gpu/GeometryTests.fs",
      "sha256": "3d8503fe91faddc6fa97a3e3f2ae136a41a2667e46ad94d9c82bc91b4075cd45",
      "bytes": 11208
    },
    {
      "path": "RayTracer.Gpu/HostScene.fs",
      "sha256": "e1ce96d9cb4da1a46e1d79e873f43039eeb24bdb94f9e8d939990316edbf87ff",
      "bytes": 19941
    },
    {
      "path": "RayTracer.Gpu/Program.fs",
      "sha256": "c0987c49ea5f2ebfbfb283f6e406fa3180a867ea45df3abb0a14f13f06a783a4",
      "bytes": 1077
    },
    {
      "path": "RayTracer.Gpu/README.md",
      "sha256": "65ed2f5f5f15c482889955db1b004f60c81e14317c958a9fdfa516028afe9b00",
      "bytes": 24402
    },
    {
      "path": "RayTracer.Gpu/RayTracer.Gpu.fsproj",
      "sha256": "d81770b963830521325e366be4c05a036c61f4e1bcfaac9e1af55ad157ee5dda",
      "bytes": 1376
    },
    {
      "path": "RayTracer.Gpu/SelfTests.fs",
      "sha256": "90727a68181bb6d857647e3989bd10610d04bd9b44405d0f9f12174f09382faa",
      "bytes": 21272
    },
    {
      "path": "RayTracer.Gpu/Tests/batching-settings.json",
      "sha256": "5cfc46a28bd1bebc601294dff46048172fa292b036c1011276d16b309c597a43",
      "bytes": 242
    },
    {
      "path": "RayTracer.Gpu/Tests/gold-preview-settings.json",
      "sha256": "ba312eae6dc755018c3d2bcdcbf407c4c601c299b2683b21622aa29f692751cc",
      "bytes": 253
    },
    {
      "path": "RayTracer.Gpu/Tests/multi-jittered-settings.json",
      "sha256": "646982277c02e3f305154b3aba1a70f492df3ebbf4bcb32b3cd003a31ac1a41a",
      "bytes": 251
    },
    {
      "path": "RayTracer.Gpu/Tests/nested-glass-scene.json",
      "sha256": "340b45e15a10e80d7bcb4e7ca5c1265a3437d69fdf054eff6f23f0d66db8764f",
      "bytes": 2273
    },
    {
      "path": "RayTracer.Gpu/Tests/odd-settings.json",
      "sha256": "c9b73ca6268f581cf581c0750d96cff20eb46be75c3ba0e8f008daefde56dba7",
      "bytes": 242
    },
    {
      "path": "RayTracer.Gpu/Tests/parity-settings.json",
      "sha256": "7b05c4096cdb366b7ffb07496596de9f1045bf797d9d24e69ee20e695be82046",
      "bytes": 241
    },
    {
      "path": "RayTracer.Gpu/Tests/sampled-lights-scene.json",
      "sha256": "598eadffe8ca7580359b9601461a99fb37dee3f91d8cfaa784c012d6b5d0dab6",
      "bytes": 3413
    },
    {
      "path": "RayTracer.Gpu/Tests/tiny-settings.json",
      "sha256": "bb864dc5d972d2adcdad7f76d9095d1dafc25305f6dfe0edc2610407dcb472c4",
      "bytes": 241
    },
    {
      "path": "RayTracer.Gpu/Worker.fs",
      "sha256": "c31f8ec4963a81fe9c6cde9c02c2edaa4803c9748da34bcf4a2478ede0028c41",
      "bytes": 10823
    },
    {
      "path": "RayTracer.Gpu/packages.lock.json",
      "sha256": "3bd29a38bbb05fb3aed3d8161d2d7061980c5c34e9397aefde9c9548e302617d",
      "bytes": 2114
    },
    {
      "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": "a7c895e8c576a6d03b2fe7aa5b5f2d5ba42d54665e7cf3b6a4d5880ad3621f7a",
      "bytes": 7033
    },
    {
      "path": "RayTracer/Acceleration/BVH.fs",
      "sha256": "55f0d1ce2cf76e6b5dbec6f5b911605d39003a64d24a8bb062f96ffa6d95c335",
      "bytes": 6160
    },
    {
      "path": "RayTracer/Acceleration/FlatBVH.fs",
      "sha256": "686d8b73a5df610c99409112d1e8ff870bd956606522b0fb123865fe2eac1769",
      "bytes": 12162
    },
    {
      "path": "RayTracer/Acceleration/KDTree.fs",
      "sha256": "ebea794f71add6fde323e8b5c34b0a48db504f8054a87bc09af53d3087ed081e",
      "bytes": 15432
    },
    {
      "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": "8bdd5e6a54eb9318c486e32c8e738b1f7504e405522bc0f156d241c68691f443",
      "bytes": 3832
    },
    {
      "path": "RayTracer/Camera/PinholeCamera.fs",
      "sha256": "d395c9f779fe616f8ce404d9e1e75d2ab8808857fbca99dd44eefa58c65cfc13",
      "bytes": 1401
    },
    {
      "path": "RayTracer/Camera/ThinLensCamera.fs",
      "sha256": "2daa2a8cd4889f5169abb2cc112a4b22f921243987c789f1028231da836c89b1",
      "bytes": 2246
    },
    {
      "path": "RayTracer/ClassicIntegrator.fs",
      "sha256": "be13267721fb36edd27a781ae0b3488e6c59b98ea81534c10db43439ede560ad",
      "bytes": 11969
    },
    {
      "path": "RayTracer/Core/BBox.fs",
      "sha256": "55c5b9b4279337a88eb39938caf6cc9d6e689f43074d9b122be1636989a3f0db",
      "bytes": 3235
    },
    {
      "path": "RayTracer/Core/Colour.fs",
      "sha256": "39e6374c20ed7e6d67598530f87afc63b5bd70c5a5a15b58e251477bdb2325eb",
      "bytes": 3737
    },
    {
      "path": "RayTracer/Core/Foundation.fs",
      "sha256": "ed2a94c2bf5269d9763842d177605986bb1c72addf868068a1c888e6ab2d5c6a",
      "bytes": 7828
    },
    {
      "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": "cd078c19652129e5ead45a071dbbdb3eb3846d541ae2021dbb52ef8e897f56df",
      "bytes": 9048
    },
    {
      "path": "RayTracer/ImplicitSurfaces/ExprParse.fsi",
      "sha256": "627d1d39198bcbf39a12d0d352b884c916f4b68c2dfba4ca5e0b969eea56abaf",
      "bytes": 703
    },
    {
      "path": "RayTracer/ImplicitSurfaces/ExprToPoly.fs",
      "sha256": "b5adb8d83aef5b1bdaecab0855394f44987277ce9042f6e5c9e43f1693b4d2de",
      "bytes": 13345
    },
    {
      "path": "RayTracer/ImplicitSurfaces/ExprToPoly.fsi",
      "sha256": "f81a02ec47a4392c4da91fbc44224f440a06d52178dadc453aa06262e3985f69",
      "bytes": 874
    },
    {
      "path": "RayTracer/ImplicitSurfaces/ImplicitSurfaces.fs",
      "sha256": "376c556c39c705c323fffdea74af54051d3da56ae302c828da81bce2d49d2d59",
      "bytes": 9777
    },
    {
      "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": "0cff46e2297e91390b9a3d648249e8363e50569e8f41cdca1f8a82886bfc6498",
      "bytes": 1076
    },
    {
      "path": "RayTracer/Materials/Textures.fsi",
      "sha256": "8a5aef2100808ad505e8f24c1aafeeb1b8b22ab0ee650e0ccc80ac57d264722f",
      "bytes": 487
    },
    {
      "path": "RayTracer/Program2.fs",
      "sha256": "f4620ea9b3ab45100cd31701cf757a2dfa8308cf5f152b091e290e5507d8117e",
      "bytes": 5398
    },
    {
      "path": "RayTracer/RayTracer.fsproj",
      "sha256": "f0b095dfdb37c0f006dd45de77c590400b308b2494eb4b1829299d6c3c7213f0",
      "bytes": 2721
    },
    {
      "path": "RayTracer/Render.fs",
      "sha256": "c862d96df1950b438a93b1015baf55f4bb37dd03bb880373cc9f4105f3b41036",
      "bytes": 6413
    },
    {
      "path": "RayTracer/Sampling/Sampling.fs",
      "sha256": "dd610649a89b92244d7de1be94cbc99481f744372bdd6077c40b93fd03cb3749",
      "bytes": 14630
    },
    {
      "path": "RayTracer/Sampling/Sampling.fsi",
      "sha256": "20207e6278cc86bba62ef34c685a33d3e978362f86d2fbb69d2952f3a72317ae",
      "bytes": 873
    },
    {
      "path": "RayTracer/Scene.fs",
      "sha256": "323db33647a38a8eeef43fe6455da2380dcf653ddc350ff1ce4ff1b519054634",
      "bytes": 1877
    },
    {
      "path": "RayTracer/Shapes/BaseShape.fs",
      "sha256": "7643d7cd26c5192edf5e0af2a898bd02ed0b9ecfd609ad5082e7db042829f677",
      "bytes": 1778
    },
    {
      "path": "RayTracer/Shapes/CSG.fs",
      "sha256": "8e0b0e70d67ab2d83668dc0d11b821153076cabf92ecabd1fe250ed1f3f182ca",
      "bytes": 7197
    },
    {
      "path": "RayTracer/Shapes/Shapes.fs",
      "sha256": "6d6f18137c00c609be30d30edf192355bfd697a6a67fbde2df6d578331ab70dc",
      "bytes": 23264
    },
    {
      "path": "RayTracer/Transformation/Transformation.fs",
      "sha256": "0ac87b1c7323d9b3abd682d91cc23d0f6fe5fa2118d03d88d0d0fc16676f9846",
      "bytes": 9113
    },
    {
      "path": "RayTracer/Transformation/Transformation.fsi",
      "sha256": "f046d2c1db4f9bc429eaa8bfe7ae767ba7d82577457cea23f91aa87db7bdc815",
      "bytes": 1446
    },
    {
      "path": "RayTracer/TriangleMesh/PLYParser.fs",
      "sha256": "12f46bbac9a996247c9b7bd84b1624b7a1ca68f9d5b274705cb87dedc1bdc308",
      "bytes": 15991
    },
    {
      "path": "RayTracer/TriangleMesh/TriangleMesh.fs",
      "sha256": "387947adaba72058256ea306317db366d59bb0b43e36cb5f718fe223e2be29d4",
      "bytes": 14958
    },
    {
      "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/GoldDragon.fsx",
      "sha256": "9124474d8ad0b21bce09bfc1d279cf88d8b61c1ccc0a75457edafa87d2a03b16",
      "bytes": 8507
    },
    {
      "path": "SceneAssets/Meshes.fs",
      "sha256": "4f23f7765d14f7e791cacde09e521e2b5340b919a8901694543bd883dd60292b",
      "bytes": 31448
    },
    {
      "path": "SceneAssets/Program.fs",
      "sha256": "cc82e83d8e252922113f8a6e40c9898e47f33b3d2d7cd342c94b53445e551d74",
      "bytes": 12908
    },
    {
      "path": "SceneAssets/README.md",
      "sha256": "cec624111a8f7b3e3d006c4cc41a0bc27874a70eaddd14f8d12e864caf4b0078",
      "bytes": 12581
    },
    {
      "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": "5b34dcdfdf9edee125544a54185ae1138bb5142b4c071eff6eeaa0fe076dbbfb",
      "bytes": 15166
    },
    {
      "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": "1f73c18b2cc3abfbfae5c6dc16599daad111a97d9268aa9190dc67d3f8ff2509",
      "bytes": 29138
    },
    {
      "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": "618056d6e4aefb0b893fe8bf202af50f7073d45406db8af5cdb4af54419608a0",
      "bytes": 22229
    },
    {
      "path": "UnitTests/ImageIOTests.fs",
      "sha256": "6da7198dfbb449ff40f9d448325cfc1de69604d6f5408b70d9c8c39ad067897c",
      "bytes": 3947
    },
    {
      "path": "UnitTests/ImplicitSurfaces/ExprParseTests.fs",
      "sha256": "0c206e57bca18286b0bb47485086abe89834cd1b950ccfed8bb7996f1c3e3ea3",
      "bytes": 4988
    },
    {
      "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": "3ac23a7d7ba4bdbc32db13666be364f78777aaff566b09689b6d13a9a913c54b",
      "bytes": 11010
    },
    {
      "path": "UnitTests/MeshRegressionTests.fs",
      "sha256": "1fd3e29870a6751bde8b1d341a5b79d7733d23807046d6dc29a45d6e100f3883",
      "bytes": 20600
    },
    {
      "path": "UnitTests/NumericalRegressionTests.fs",
      "sha256": "d5b90a110468d9c7fbc0c1b3ee5123683838f6043b93658d97c61b49ff3b6a6a",
      "bytes": 6792
    },
    {
      "path": "UnitTests/Program.fs",
      "sha256": "cfb70e593e134c70fcc5e7d527b7a145548dbad6dcacccbf6aa82dfd47ff2d2c",
      "bytes": 3160
    },
    {
      "path": "UnitTests/README.md",
      "sha256": "9dbf70e1ca20ddcd562763dc971a1f4084a3b313c65f9f9af86a0deadf31d1b8",
      "bytes": 1339
    },
    {
      "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": "8329f6d1dea3bce0dc06af11a4882d0a79a9d1205174eacc8c5b5f764a49ed80",
      "bytes": 23148
    },
    {
      "path": "benchmarks/PERFORMANCE.md",
      "sha256": "f6bee0f81e9b6aee747c0628783f9e83799e12df3e37a3d0b2470936370f4b7f",
      "bytes": 3442
    },
    {
      "path": "benchmarks/gold-dragon.json",
      "sha256": "facee2f4b87ac457ec941b900b7eac9d0f3e6b29ce2f1d7970cd2044485681bc",
      "bytes": 1548
    },
    {
      "path": "benchmarks/legacy/LegacyRayTracer.fsproj",
      "sha256": "8aee5724f45605dcd0ea4e40a6b6972297bc38120a97b5383f19bb8625bedfd1",
      "bytes": 4943
    },
    {
      "path": "benchmarks/legacy/README.md",
      "sha256": "7946b65e40a68e867072a21062fa01cf044f1fb016e9dae29e9b94fdd405f686",
      "bytes": 5657
    },
    {
      "path": "benchmarks/legacy/Runner/LegacyRunner.fsproj",
      "sha256": "e77af833959f28a1dd0bf34e2cb8a0a7a1d58e82c2e700750049e84673426d94",
      "bytes": 954
    },
    {
      "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": "6c351ed0843f3f7aabb197027cc7943f274ad751b2905e3b02a02686cb1da3b3",
      "bytes": 11083
    },
    {
      "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/adapted/Transformation/Transformation.fs",
      "sha256": "886884b38a6c6bc8f7c789882b9c6a7113fb1ca957f1cdce7c0a3846c73ac63d",
      "bytes": 7252
    },
    {
      "path": "benchmarks/legacy/adapted/Transformation/Transformation.fsi",
      "sha256": "0630a53ca572251bed48326b4a5a1efc5054f098a11932b3307ad715f1b50aec",
      "bytes": 1353
    },
    {
      "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": "e3d27c212db703065412eb33b6c34dca52f322abb358371dc4682388c856a2aa",
      "bytes": 6860
    },
    {
      "path": "benchmarks/legacy/prepare-port.fsx",
      "sha256": "34cf2c386bdb423d9fdd4aa54c515de8396493616f9596f0348562f178bd2f18",
      "bytes": 13867
    },
    {
      "path": "benchmarks/legacy/proof.fsx",
      "sha256": "971d7fdf9ca37a9bb6fa59bf88ebae27553eadd6764ae72caf38d45978963227",
      "bytes": 6642
    },
    {
      "path": "benchmarks/legacy/source.sha256",
      "sha256": "e16be33a22219bf6a61a41b10eb407db9601b02e8ec37bbb5dce49574beb20fa",
      "bytes": 6205
    },
    {
      "path": "benchmarks/scenes/chair.json",
      "sha256": "ce33b5f08b535ff21d44640557c93e295fcae9af1679cafb5cf84391f010ff4b",
      "bytes": 28262
    },
    {
      "path": "benchmarks/scenes/gold-dragon.json",
      "sha256": "590bc492b726cb1d27db568b9286d87cc721069656822020ca50da180a63834d",
      "bytes": 4706
    },
    {
      "path": "benchmarks/scenes/material-lab.json",
      "sha256": "bf764d906f1812d17924bb2df0e8c8d46eed43ec1a7400ff44cb4100c2d1f051",
      "bytes": 13119
    },
    {
      "path": "benchmarks/scenes/provenance.json",
      "sha256": "2e013d878c5607edd0d35361869d75370f17855c0bb4bfe6efae249808a915ae",
      "bytes": 39154
    },
    {
      "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": "fd035be10f39e07505ec09c514f27648d6be7c9db6859956f1878cbdd216a743",
      "bytes": 21437
    },
    {
      "path": "scripts/BenchmarkReport.fs",
      "sha256": "496d3e67ccadcf1eba30c3e6f3cfd4446bbce9eeb5ab3c2233092d8e667fc438",
      "bytes": 22028
    },
    {
      "path": "scripts/benchmark-builder-tests.fsx",
      "sha256": "4656b39c84837fcb4a011cabfd6a28a8fcae5b8e7f7c713187ee9d02bf31f715",
      "bytes": 7301
    },
    {
      "path": "scripts/benchmark-selection-tests.fsx",
      "sha256": "f9dfd0eb26217fa7e158317216f9243f7f2a900077c4173e7b64af7eaba82e44",
      "bytes": 7401
    },
    {
      "path": "scripts/benchmark-tests.fsx",
      "sha256": "1ca58ad9cd884ea3099ed4d5bba70a9a3583db29cf210ff3fc9035af2a6d9c10",
      "bytes": 13299
    },
    {
      "path": "scripts/benchmark-worker-tests.fsx",
      "sha256": "ac16ea52ca74ba39555155a67654f1d52aa1d46e25adda6f7c60c8b377c64668",
      "bytes": 24849
    },
    {
      "path": "scripts/benchmark.fsx",
      "sha256": "a98d959f716a1d6db91eba601d0a17762e8fcfde4c7a91f132c9ca908f841dc0",
      "bytes": 40224
    },
    {
      "path": "scripts/prepare-gold-dragon.fsx",
      "sha256": "29904b83e01ffce200f6fd15635b39369a63592b8109bf008a7a2f1eb4d70894",
      "bytes": 4427
    },
    {
      "path": "scripts/publish-report.sh",
      "sha256": "5624d9bda51ccf3c119cf88693ad20cd26251b4050eab95aa113a2a3781e182c",
      "bytes": 7494
    },
    {
      "path": "scripts/tune-cpu.fsx",
      "sha256": "86d3c04520fcdbffb9d6598d342b5f5362c4b51f9816c50b21590902df6ba6d3",
      "bytes": 6282
    }
  ],
  "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/artifacts/gpu-fixed-snapshot-20260907/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/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/Basics.dll",
      "sha256": "6d4c82d8d6c16da360c47f78aa123a0cb29119f9a3c227208b944617e79f06be",
      "bytes": 424448
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/FParsec.dll",
      "sha256": "147154cd8e33699c1458cd7653b78d6c93c2ea272e9aeb3f838af95af2a82b23",
      "bytes": 241152
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/FParsecCS.dll",
      "sha256": "1822de41fcf78bf92de841f03e9a5c78db7fb1eb19cf699f78e06f064e0d4013",
      "bytes": 104448
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/FSharp.Core.dll",
      "sha256": "63797dea63b00ca2081d71827cecbb5425956886b4c3b06947e7ae561a43e366",
      "bytes": 2405672
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/ILGPU.Algorithms.dll",
      "sha256": "2e103e6eaebb335fdc9cbcaddfef348befa0b576fd4f96532c0e38a3a2aa0788",
      "bytes": 1538048
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/ILGPU.dll",
      "sha256": "86aabe2a5a00002d5841791b5fbe9c8edd64b0ea15845c27bc5c85b2b1daacf6",
      "bytes": 1992192
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/RayTracer.Gpu.deps.json",
      "sha256": "1c1524bcb60afacf0735bc9fd8b0194e696b15ddb40cf3cead7d50add600cce2",
      "bytes": 6916
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/RayTracer.Gpu.dll",
      "sha256": "14c3a479c6f6915fadfe9deb55621bf290bac57fb9c54aa9b0ad07bb99e2940c",
      "bytes": 233472
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/RayTracer.Gpu.runtimeconfig.json",
      "sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f",
      "bytes": 330
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/RayTracer.ImageIO.dll",
      "sha256": "df364a20c45e8272f71523a917760c3a4e9d714eebd1e692f9831cf2b540cfda",
      "bytes": 10752
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/SceneFormat.dll",
      "sha256": "034729dc0a9f2793f365a3dde30fb99129ba02ab8c3fa143f4cff24601073381",
      "bytes": 69632
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/bin/Release/net10.0/StbImageSharp.dll",
      "sha256": "0ff268f51876e7924192c70a164bac8da402ed0a3ca30e9d2a2840e7f0deda84",
      "bytes": 77312
    },
    {
      "path": "/home/movj/code/dev/Ray_Tracer_FSharp/artifacts/gpu-fixed-snapshot-20260907/RayTracer.Gpu/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      \u0022RayTracer.Gpu/1.0.0\u0022: {\n        \u0022dependencies\u0022: {\n          \u0022Basics\u0022: \u00221.0.0\u0022,\n          \u0022FSharp.Core\u0022: \u002210.1.400\u0022,\n          \u0022ILGPU\u0022: \u00221.5.3\u0022,\n          \u0022ILGPU.Algorithms\u0022: \u00221.5.3\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          \u0022RayTracer.Gpu.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      \u0022ILGPU/1.5.3\u0022: {\n        \u0022runtime\u0022: {\n          \u0022lib/net7.0/ILGPU.dll\u0022: {\n            \u0022assemblyVersion\u0022: \u00221.5.3.0\u0022,\n            \u0022fileVersion\u0022: \u00221.5.3.0\u0022\n          }\n        }\n      },\n      \u0022ILGPU.Algorithms/1.5.3\u0022: {\n        \u0022dependencies\u0022: {\n          \u0022ILGPU\u0022: \u00221.5.3\u0022\n        },\n        \u0022runtime\u0022: {\n          \u0022lib/net7.0/ILGPU.Algorithms.dll\u0022: {\n            \u0022assemblyVersion\u0022: \u00221.5.3.0\u0022,\n            \u0022fileVersion\u0022: \u00221.5.3.0\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    \u0022RayTracer.Gpu/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    \u0022ILGPU/1.5.3\u0022: {\n      \u0022type\u0022: \u0022package\u0022,\n      \u0022serviceable\u0022: true,\n      \u0022sha512\u0022: \u0022sha512-VhAfQqnp/qTcQla5zcBPQIoUJox8T1EuZLuKrynFFE1BQvOOUCksiCb9IQAJa2MSJf6QDi5YIoG45K0I\u002BGWcgg==\u0022,\n      \u0022path\u0022: \u0022ilgpu/1.5.3\u0022,\n      \u0022hashPath\u0022: \u0022ilgpu.1.5.3.nupkg.sha512\u0022\n    },\n    \u0022ILGPU.Algorithms/1.5.3\u0022: {\n      \u0022type\u0022: \u0022package\u0022,\n      \u0022serviceable\u0022: true,\n      \u0022sha512\u0022: \u0022sha512-KySqYhghiJKkf77NTLcxebFzD2hz/hpO1Dxz/B0IpnowhwKD3i\u002BPVaGa3E\u002BTXahGHY6711HVOWpKr07wV6qEOg==\u0022,\n      \u0022path\u0022: \u0022ilgpu.algorithms/1.5.3\u0022,\n      \u0022hashPath\u0022: \u0022ilgpu.algorithms.1.5.3.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}"
  ],
  "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."
  ]
}

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.

CaseEngine / completion cold worker-total load build compile upload trace-synchronized download encode cleanup allocated peak-working-set peak-device
high / chair / glass1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 296795.462 msIQR 296795.462–296795.462 296007.902 msIQR 296007.902–296007.902 84.906 msIQR 84.906–84.906 215.152 msIQR 215.152–215.152 4015.821 msIQR 4015.821–4015.821 28.244 msIQR 28.244–28.244 291002.749 msIQR 291002.749–291002.749 66.612 msIQR 66.612–66.612 434.222 msIQR 434.222–434.222 51.306 msIQR 51.306–51.306 662.757 MiBIQR 662.757–662.757 414.512 MiBIQR 414.512–414.512 37.793 MiBIQR 37.793–37.793
high / chair / glossy1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 1351520.694 msIQR 1351520.694–1351520.694 1350663.159 msIQR 1350663.159–1350663.159 92.299 msIQR 92.299–92.299 225.398 msIQR 225.398–225.398 4031.756 msIQR 4031.756–4031.756 25.365 msIQR 25.365–25.365 1345638.506 msIQR 1345638.506–1345638.506 64.626 msIQR 64.626–64.626 453.276 msIQR 453.276–453.276 40.728 msIQR 40.728–40.728 662.799 MiBIQR 662.799–662.799 406.691 MiBIQR 406.691–406.691 37.793 MiBIQR 37.793–37.793
high / chair / matte1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 139611.902 msIQR 139611.902–139611.902 138942.354 msIQR 138942.354–138942.354 82.98 msIQR 82.98–82.98 195.072 msIQR 195.072–195.072 4204.446 msIQR 4204.446–4204.446 24.79 msIQR 24.79–24.79 133743.678 msIQR 133743.678–133743.678 59.814 msIQR 59.814–59.814 503.608 msIQR 503.608–503.608 42.372 msIQR 42.372–42.372 662.583 MiBIQR 662.583–662.583 414.965 MiBIQR 414.965–414.965 37.793 MiBIQR 37.793–37.793
high / chair / mirror1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 163319.74 msIQR 163319.74–163319.74 162518.453 msIQR 162518.453–162518.453 90.307 msIQR 90.307–90.307 196.918 msIQR 196.918–196.918 4674.77 msIQR 4674.77–4674.77 27.207 msIQR 27.207–27.207 156828.161 msIQR 156828.161–156828.161 65.363 msIQR 65.363–65.363 469.935 msIQR 469.935–469.935 52.414 msIQR 52.414–52.414 662.755 MiBIQR 662.755–662.755 406.621 MiBIQR 406.621–406.621 37.793 MiBIQR 37.793–37.793
high / chair / phong1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 139384.414 msIQR 139384.414–139384.414 138679.856 msIQR 138679.856–138679.856 102.003 msIQR 102.003–102.003 211.663 msIQR 211.663–211.663 3781.385 msIQR 3781.385–3781.385 29.133 msIQR 29.133–29.133 133764.593 msIQR 133764.593–133764.593 66.04 msIQR 66.04–66.04 583.388 msIQR 583.388–583.388 50.009 msIQR 50.009–50.009 662.635 MiBIQR 662.635–662.635 413.77 MiBIQR 413.77–413.77 37.793 MiBIQR 37.793–37.793
high / roman-bust / glass1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 251708.176 msIQR 251708.176–251708.176 251015.371 msIQR 251015.371–251015.371 155.56 msIQR 155.56–155.56 473.251 msIQR 473.251–473.251 4427.679 msIQR 4427.679–4427.679 33.364 msIQR 33.364–33.364 245211.451 msIQR 245211.451–245211.451 60.598 msIQR 60.598–60.598 526.328 msIQR 526.328–526.328 42.52 msIQR 42.52–42.52 755.004 MiBIQR 755.004–755.004 449.164 MiBIQR 449.164–449.164 61.317 MiBIQR 61.317–61.317
high / roman-bust / glossy1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 1948769.663 msIQR 1948769.663–1948769.663 1948009.972 msIQR 1948009.972–1948009.972 169.323 msIQR 169.323–169.323 529.561 msIQR 529.561–529.561 4213.415 msIQR 4213.415–4213.415 34.362 msIQR 34.362–34.362 1942384.193 msIQR 1942384.193–1942384.193 75.713 msIQR 75.713–75.713 468.503 msIQR 468.503–468.503 50.923 msIQR 50.923–50.923 754.983 MiBIQR 754.983–754.983 455.16 MiBIQR 455.16–455.16 61.317 MiBIQR 61.317–61.317
high / roman-bust / matte1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 87624.242 msIQR 87624.242–87624.242 86931.943 msIQR 86931.943–86931.943 153.062 msIQR 153.062–153.062 466.366 msIQR 466.366–466.366 4423.838 msIQR 4423.838–4423.838 29.182 msIQR 29.182–29.182 81136.032 msIQR 81136.032–81136.032 66.891 msIQR 66.891–66.891 527.278 msIQR 527.278–527.278 42.013 msIQR 42.013–42.013 754.854 MiBIQR 754.854–754.854 462.652 MiBIQR 462.652–462.652 61.317 MiBIQR 61.317–61.317
high / roman-bust / mirror1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 112674.406 msIQR 112674.406–112674.406 111839.45 msIQR 111839.45–111839.45 159.092 msIQR 159.092–159.092 450.568 msIQR 450.568–450.568 3894.699 msIQR 3894.699–3894.699 32.16 msIQR 32.16–32.16 106656.28 msIQR 106656.28–106656.28 60.572 msIQR 60.572–60.572 422.04 msIQR 422.04–422.04 58.27 msIQR 58.27–58.27 754.982 MiBIQR 754.982–754.982 465.254 MiBIQR 465.254–465.254 61.317 MiBIQR 61.317–61.317
high / roman-bust / phong1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 87207.67 msIQR 87207.67–87207.67 86421.145 msIQR 86421.145–86421.145 147.912 msIQR 147.912–147.912 452.929 msIQR 452.929–452.929 3968.141 msIQR 3968.141–3968.141 33.849 msIQR 33.849–33.849 81153.028 msIQR 81153.028–81153.028 59.028 msIQR 59.028–59.028 454.195 msIQR 454.195–454.195 43.491 msIQR 43.491–43.491 754.892 MiBIQR 754.892–754.892 466.5 MiBIQR 466.5–466.5 61.317 MiBIQR 61.317–61.317
high / sky-arena / glass1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 148497.633 msIQR 148497.633–148497.633 147785.839 msIQR 147785.839–147785.839 135.459 msIQR 135.459–135.459 437.274 msIQR 437.274–437.274 3866.097 msIQR 3866.097–3866.097 48.094 msIQR 48.094–48.094 142591.922 msIQR 142591.922–142591.922 60.993 msIQR 60.993–60.993 512.045 msIQR 512.045–512.045 46.853 msIQR 46.853–46.853 729.059 MiBIQR 729.059–729.059 437.996 MiBIQR 437.996–437.996 36.37 MiBIQR 36.37–36.37
high / sky-arena / glossy1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 1337648.304 msIQR 1337648.304–1337648.304 1336922.215 msIQR 1336922.215–1336922.215 105.321 msIQR 105.321–105.321 391.329 msIQR 391.329–391.329 4441.528 msIQR 4441.528–4441.528 34.659 msIQR 34.659–34.659 1331269.326 msIQR 1331269.326–1331269.326 71.04 msIQR 71.04–71.04 471.243 msIQR 471.243–471.243 43.345 msIQR 43.345–43.345 729.182 MiBIQR 729.182–729.182 430.027 MiBIQR 430.027–430.027 57.871 MiBIQR 57.871–57.871
high / sky-arena / matte1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 33943.269 msIQR 33943.269–33943.269 33761.725 msIQR 33761.725–33761.725 110.814 msIQR 110.814–110.814 389.762 msIQR 389.762–389.762 4261.407 msIQR 4261.407–4261.407 34.961 msIQR 34.961–34.961 28332.707 msIQR 28332.707–28332.707 56.876 msIQR 56.876–56.876 434.347 msIQR 434.347–434.347 46.849 msIQR 46.849–46.849 728.961 MiBIQR 728.961–728.961 439.242 MiBIQR 439.242–439.242 25.62 MiBIQR 25.62–25.62
high / sky-arena / mirror1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 56615.352 msIQR 56615.352–56615.352 55929.501 msIQR 55929.501–55929.501 107.786 msIQR 107.786–107.786 378.834 msIQR 378.834–378.834 3928.835 msIQR 3928.835–3928.835 38.127 msIQR 38.127–38.127 50742.752 msIQR 50742.752–50742.752 64.494 msIQR 64.494–64.494 537.018 msIQR 537.018–537.018 43.996 msIQR 43.996–43.996 729.156 MiBIQR 729.156–729.156 434.719 MiBIQR 434.719–434.719 25.62 MiBIQR 25.62–25.62
high / sky-arena / phong1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 34169.461 msIQR 34169.461–34169.461 33431.421 msIQR 33431.421–33431.421 102.306 msIQR 102.306–102.306 360.834 msIQR 360.834–360.834 3910.015 msIQR 3910.015–3910.015 28.008 msIQR 28.008–28.008 28363.752 msIQR 28363.752–28363.752 56.668 msIQR 56.668–56.668 457.124 msIQR 457.124–457.124 38.353 msIQR 38.353–38.353 728.97 MiBIQR 728.97–728.97 432.344 MiBIQR 432.344–432.344 25.62 MiBIQR 25.62–25.62
high / space-sentinel / glass1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 548225.061 msIQR 548225.061–548225.061 547487.077 msIQR 547487.077–547487.077 110.243 msIQR 110.243–110.243 208.096 msIQR 208.096–208.096 4510.851 msIQR 4510.851–4510.851 25.561 msIQR 25.561–25.561 541937.07 msIQR 541937.07–541937.07 60.423 msIQR 60.423–60.423 500.977 msIQR 500.977–500.977 40.838 msIQR 40.838–40.838 694.986 MiBIQR 694.986–694.986 422.172 MiBIQR 422.172–422.172 44.575 MiBIQR 44.575–44.575
high / space-sentinel / glossy1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 2628761.709 msIQR 2628761.709–2628761.709 2628011.67 msIQR 2628011.67–2628011.67 138.746 msIQR 138.746–138.746 203.587 msIQR 203.587–203.587 3816.575 msIQR 3816.575–3816.575 25.861 msIQR 25.861–25.861 2623165.661 msIQR 2623165.661–2623165.661 63.349 msIQR 63.349–63.349 458.761 msIQR 458.761–458.761 47.914 msIQR 47.914–47.914 694.913 MiBIQR 694.913–694.913 410.938 MiBIQR 410.938–410.938 44.575 MiBIQR 44.575–44.575
high / space-sentinel / matte1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 175329.41 msIQR 175329.41–175329.41 174583.192 msIQR 174583.192–174583.192 133.428 msIQR 133.428–133.428 211.56 msIQR 211.56–211.56 4000.299 msIQR 4000.299–4000.299 27.334 msIQR 27.334–27.334 169551.715 msIQR 169551.715–169551.715 60.326 msIQR 60.326–60.326 463.861 msIQR 463.861–463.861 38.805 msIQR 38.805–38.805 694.765 MiBIQR 694.765–694.765 417.262 MiBIQR 417.262–417.262 44.575 MiBIQR 44.575–44.575
high / space-sentinel / mirror1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 266117.549 msIQR 266117.549–266117.549 265317.967 msIQR 265317.967–265317.967 125.701 msIQR 125.701–125.701 195.206 msIQR 195.206–195.206 4431.406 msIQR 4431.406–4431.406 43.522 msIQR 43.522–43.522 259884.602 msIQR 259884.602–259884.602 57.361 msIQR 57.361–57.361 445.613 msIQR 445.613–445.613 49.396 msIQR 49.396–49.396 694.987 MiBIQR 694.987–694.987 420.191 MiBIQR 420.191–420.191 44.575 MiBIQR 44.575–44.575
high / space-sentinel / phong1024×1024, camera 64, light 4, glossy 4, depth 4; 22 threads, tile 16; float64, regular, gamma2gpu1/1 successful 175516.033 msIQR 175516.033–175516.033 174742.196 msIQR 174742.196–174742.196 130.727 msIQR 130.727–130.727 231.252 msIQR 231.252–231.252 4092.771 msIQR 4092.771–4092.771 37.475 msIQR 37.475–37.475 169560.255 msIQR 169560.255–169560.255 59.343 msIQR 59.343–59.343 498.89 msIQR 498.89–498.89 39.251 msIQR 39.251–39.251 694.804 MiBIQR 694.804–694.804 416.035 MiBIQR 416.035–416.035 44.575 MiBIQR 44.575–44.575

Before / after gallery

high / chair / glass

gpu: cold median 296795.462 ms

high / chair / glossy

gpu: cold median 1351520.694 ms

high / chair / matte

gpu: cold median 139611.902 ms

high / chair / mirror

gpu: cold median 163319.74 ms

high / chair / phong

gpu: cold median 139384.414 ms

high / roman-bust / glass

gpu: cold median 251708.176 ms

high / roman-bust / glossy

gpu: cold median 1948769.663 ms

high / roman-bust / matte

gpu: cold median 87624.242 ms

high / roman-bust / mirror

gpu: cold median 112674.406 ms

high / roman-bust / phong

gpu: cold median 87207.67 ms

high / sky-arena / glass

gpu: cold median 148497.633 ms

high / sky-arena / glossy

gpu: cold median 1337648.304 ms

high / sky-arena / matte

gpu: cold median 33943.269 ms

high / sky-arena / mirror

gpu: cold median 56615.352 ms

high / sky-arena / phong

gpu: cold median 34169.461 ms

high / space-sentinel / glass

gpu: cold median 548225.061 ms

high / space-sentinel / glossy

gpu: cold median 2628761.709 ms

high / space-sentinel / matte

gpu: cold median 175329.41 ms

high / space-sentinel / mirror

gpu: cold median 266117.549 ms

high / space-sentinel / phong

gpu: cold median 175516.033 ms

Every trial, including failures and separate warmups

Case / engineRepeatStatusCold wallRetained artifactsDiagnostic
high / chair / matte / gpumeasured 1attempt 1success139611.902 ms PNG PFM metrics trial stdout stderr
high / chair / phong / gpumeasured 1attempt 1success139384.414 ms PNG PFM metrics trial stdout stderr
high / chair / mirror / gpumeasured 1attempt 1success163319.74 ms PNG PFM metrics trial stdout stderr
high / chair / glossy / gpumeasured 1attempt 1success1351520.694 ms PNG PFM metrics trial stdout stderr
high / chair / glass / gpumeasured 1attempt 1success296795.462 ms PNG PFM metrics trial stdout stderr
high / roman-bust / matte / gpumeasured 1attempt 1success87624.242 ms PNG PFM metrics trial stdout stderr
high / roman-bust / phong / gpumeasured 1attempt 1success87207.67 ms PNG PFM metrics trial stdout stderr
high / roman-bust / mirror / gpumeasured 1attempt 1success112674.406 ms PNG PFM metrics trial stdout stderr
high / roman-bust / glossy / gpumeasured 1attempt 1success1948769.663 ms PNG PFM metrics trial stdout stderr
high / roman-bust / glass / gpumeasured 1attempt 1success251708.176 ms PNG PFM metrics trial stdout stderr
high / space-sentinel / matte / gpumeasured 1attempt 1success175329.41 ms PNG PFM metrics trial stdout stderr
high / space-sentinel / phong / gpumeasured 1attempt 1success175516.033 ms PNG PFM metrics trial stdout stderr
high / space-sentinel / mirror / gpumeasured 1attempt 1success266117.549 ms PNG PFM metrics trial stdout stderr
high / space-sentinel / glossy / gpumeasured 1attempt 1success2628761.709 ms PNG PFM metrics trial stdout stderr
high / space-sentinel / glass / gpumeasured 1attempt 1success548225.061 ms PNG PFM metrics trial stdout stderr
high / sky-arena / matte / gpumeasured 1attempt 1success33943.269 ms PNG PFM metrics trial stdout stderr
high / sky-arena / phong / gpumeasured 1attempt 1success34169.461 ms PNG PFM metrics trial stdout stderr
high / sky-arena / mirror / gpumeasured 1attempt 1success56615.352 ms PNG PFM metrics trial stdout stderr
high / sky-arena / glossy / gpumeasured 1attempt 1success1337648.304 ms PNG PFM metrics trial stdout stderr
high / sky-arena / glass / gpumeasured 1attempt 1success148497.633 ms PNG PFM metrics trial stdout stderr