GSoC 2023: Improve Waveform drawing speed

Week 2 Report: June 5th to June 11th

Notes

I spent a lot of time debugging a use-after free problem with my TaskPool implementation. I didn’t realize that BLI_freelinkN would deallocate the preview job data and sometimes the threads would start executing after the data was freed. That cause a memory access violation error.

Thankfully the allocator marked the deallocated pointer location with 0xDDDDDDDDDDDDDDDD. Took a while but when I finally noticed that it was an easy fix.

Next steps

  • Go through the PR review and get it merged.
  • Measure the speed improvements in Release mode.
  • Update report with speed improvement data.
8 Likes