[27:44][A few words on 4 µOPs per cycle issuance][:hardware :speech]
[29:54][Continue to consult our VTune Hardware Events analysis][:lighting :profiling :run]
[30:44][Rename "The Ultimate Fruit Salad" to "Instructions Per Clock" and swap out the UOPS_EXECUTED.CORE_CYCLES_NONE counter for UOPS_EXECUTED.CORE_CYCLES_GE_4][:admin :profiling]
[31:58][:Run our "Instructions Per Clock" analysis of hhlightprof][:lighting :profiling]
[32:13][Consult our "Instructions Per Clock" VTune analysis][:lighting :profiling :run]
[32:42][Interpret our "Instructions Per Clock" VTune analysis][:lighting :profiling :run]
[34:36][Get the Work In More Efficiently vs Do the Work More Efficiently][:performance :speech]
[35:04][Create a new "Arithmetic Port Usage" custom analysis in VTune][:admin :profiling]
[38:16][Understanding port usage with uops.info[ref
[50:26][Interpret our "All Ports Usage" VTune analysis, desiring to Get the Work In More Efficiently][:lighting :profiling :run]
[52:34][Determine to validate our code][:lighting :profiling :speech]
[53:39][Step through an -Od build of hhlightprof][:lighting :profiling :run]
[58:38][Disable the LightBoxDumpTrigger][:"file io" :lighting]
[58:46][Continue to step through hhlightprof][:lighting :profiling :run]
[1:02:25][Make EndLightingComputation() call DEBUGDumpData() on the SpecAtlas, DiffuseAtlas, and the entire :lighting Solution][:"file io"]
[1:07:31][Dump the :lighting data to file][:"file io" :run]
[1:08:29][Check out our :lighting debug dumps][:admin]
[1:08:52][Make TestRayCast() in hhlightprof do the full ComputeLightPropagationWork(), replacing Commands in the lighting_work with the DiffuseAtlas and SpecAtlas][:"data structure" :lighting]
[1:14:53][Introduce LoadEntireFile() in hhlightprof, and load in all our :lighting dumps][:"file io"]
[1:21:01][Set up hhlightprof to use our loaded dumps][:lighting]
[1:25:12][Hit a write access violation on the Solution->SamplingSpheres][:lighting :run]
[1:25:41][Hit a write access violation on Byte in ZeroSize()][:lighting :run]
[1:25:45][Allocate :memory for the Solution->Works][:lighting]
[1:35:04][Try making hhlightprof overwrite the tUpdateBlend as 0.0f][:lighting]
[1:35:22][:Run hhlightprof with a changed number of errors][:lighting]
[1:35:41][Try making hhlightprof overwrite the tUpdateBlend as 100.0f][:lighting]
[1:35:55][:Run hhlightprof with an infinite number of errors][:lighting]
[1:36:03][Try making hhlightprof overwrite the tUpdateBlend as 10.0f][:lighting]
[1:36:14][:Run hhlightprof with many errors][:lighting]
[1:36:16][Try making hhlightprof overwrite the tUpdateBlend as 1.0f][:lighting]
[1:36:22][:Run hhlightprof with few errors][:lighting]
[1:36:33][Prevent hhlightprof from overwriting the tUpdateBlend][:lighting]
[1:36:41][Continue to scour hhlightprof and [~hero Handmade Hero]'s :lighting system for inconsistencies][:research]
[1:43:47][Make TestRayCast() set the Work->VoxelX][:lighting]
[1:44:39][:Run hhlightprof, still with errors][:lighting]
[1:44:54][Introduce InternalLightingCore() to perform our dumps][:lighting]
[1:49:22][:Run hhlightprof, still with errors][:lighting]
[1:49:33][Q&A][:speech]
[1:49:58][@somebody_took_my_name][Q: Is it still building under the overdose flag?]
[1:50:32][@uplinkcoder][Q: Maybe capture a single threaded run?][:lighting :threading]
[1:52:05][@wakeuphate][Q: On your UOPS info table[ref
site=uops.info
url=https://uops.info/table.html] earlier in the stream, you were set to Skylake rather than Kaby Lake, just in case that's why you were seeing issues then]
[1:55:29][@dataqsloth][Q: Have you considered releasing your C course earlier as a beta release (even full price) just because so many of us and people we know are currently on quarantine!]
[1:55:59][@ikojan][How long would the course be?]
[1:57:24][@vaualbus][Q: Is it really bad on x86 to do unaligned pointers? Because I have a packed structure with pointers and the compiler is warning me about unaligned pointers. (Apparently there is a declspec to allow unaligned pointers?)][:memory]
[2:00:15][@leo0230][Q: Do instructions with memory operands actually use the arithmetic units before the data is ready?[ref
site=uops.info
url=https://uops.info/table.html]][:hardware]
[2:03:03][@enyo_enev][Q: Is it going to be useful for hardcore fans of [~hero Handmade Hero]?]
[2:03:51][@ikojan][Q: Will the course be project-based, where throughout the course you'll be making x or y project?]
[2:04:00][@mindmark42][Q: Is there an API to access the performance counters so you don't have to use VTune?]
[2:05:45][Wrap it up with a plug of the Meow the Infinite printed comic Kickstarter[ref
site=Kickstarter
page="Meow the Infinite: Book One"
url=https://www.kickstarter.com/projects/annarettberg/meow-the-infinite-book-one] and related fun videos at Molly Rocket's YouTube channel[ref