Great video! I saw your other video on False Sharing as well. However, I'd like to point out that you showed us the assembly code starting at 12:00. That isn't relevant because false-sharing isn't reflected in the assembly (I mean there is no "instruction" that indicates the presence of false-sharing), because it's a phenomenon of the runtime environment (hardware, cache, pipelines, etc).
@@CoffeeBeforeArch for some reason alinging variables to a cache line get me different results in debug and release, 5x speedup in debug, and only 2x in release
@@pavliv code compiled with different settings is very likely to have different performance. If you want to know the reason for the difference, you would need to look at the generated assembly
@@CoffeeBeforeArch well yes debug is always slower then release, but usually when i test some performance improvements i get roughly equal results, if it gives 5x in debug, so it would in release. release makes some optimisations, so on one hand it seems to be more usefull to use debug to see how good your own optimisation is. on the other hand in real life you are using release, so its usefull too to check it.
This whole series is really awesome! Explained very well!
Great video! I saw your other video on False Sharing as well. However, I'd like to point out that you showed us the assembly code starting at 12:00. That isn't relevant because false-sharing isn't reflected in the assembly (I mean there is no "instruction" that indicates the presence of false-sharing), because it's a phenomenon of the runtime environment (hardware, cache, pipelines, etc).
This lecture helped me on my exam!
Awesome! Glad it was useful!
underrated channel. subscribes, liked. high quality content on YT, what a time to live in xD
This helps me a lot with my application performance tuning. Thank you!
Great stuff my man. Very instructive lecture, thank you very much.
Happy to help :^)
@@CoffeeBeforeArch for some reason alinging variables to a cache line get me different results in debug and release, 5x speedup in debug, and only 2x in release
@@pavliv code compiled with different settings is very likely to have different performance. If you want to know the reason for the difference, you would need to look at the generated assembly
@@CoffeeBeforeArch well yes debug is always slower then release, but usually when i test some performance improvements i get roughly equal results, if it gives 5x in debug, so it would in release. release makes some optimisations, so on one hand it seems to be more usefull to use debug to see how good your own optimisation is. on the other hand in real life you are using release, so its usefull too to check it.
@@CoffeeBeforeArch Also, i get almost 2x beter performance if i create variable locally in each thread rather then passing em from outside
great please start a discord server