[video member=pervognsen stream_platform=twitch project=bitwise title="More Code Generation, Part 1" vod_platform=youtube id=uIjd094EKPM annotator=Miblo] [0:08][Recap and set the stage for the day][:speech] [0:45][:Run the program and consult the :performance profile with a few words on our :memory allocation] [5:18][Explain some of the :performance considerations involved in allocating :memory, including TLB (translation lookaside buffer) misses and demand clearing of memory pages][:speech] [8:02][Recommend Intel VTune[ref site="IntelĀ® Software" page="Choose & Download | IntelĀ® System Studio" url=https://software.intel.com/en-us/system-studio/choose-download] and Windows Performance Toolkit[ref site="Microsoft Docs" page="Windows Performance Toolkit" url=https://docs.microsoft.com/en-us/windows-hardware/test/wpt/]][:research] [14:44][:Run the program and consult VTune's Advanced Hotspot Analysis, and ReactOS[ref site=ReactOS page="ntoskrnl/mm/mmfault.c Source File" url=https://doxygen.reactos.org/db/d74/mmfault_8c_source.html]][:performance] [19:25][:Run the program and consult VTune's General Exploration Microarchitecture Analysis, with an explanation of basic sampling vs instrumentation :profiling, and mentions of PerfMon Events[ref site="PerfMon Events" url=https://download.01.org/perfmon/index/index.html#pltfrm=skylake.html&pltfrmevent=DTLB_LOAD_MISSES.WALK_ACTIVE] and perf[ref site="Brendan Gregg" page="Linux perf Examples" url=http://brendangregg.com/perf.html]][:performance] [27:01][Switch back to using xmalloc() and enable the full :"code generation" code][:memory] [27:29][:Run it to see that it's way slower, and investigate why][:performance] [36:04][@praet_a51][processExplorer has a search feature that can locate file locks] [36:36][Continue to investigate this slowdown][:performance :run] [37:38][Revert buf__grow() to the old committed code][:memory] [38:35][:Run it to find that it's still very slow][:performance] [39:24][@badflydog][If you go to 'Users' in Task Manager you can see if the CPU usage comes from other places than your account] [40:49][@elventhief][Any VTune service process running?] [40:53][Reboot][:admin] [/video]