these principles are not useful when you write for performance (HPC, GPU computing, etc) , because if you separate repsonsibilities in 1 responsibility per function you are going to lose the data from cache, and your process is going to be twice as slow, than the process I will write with one function doing everything in one pass, while the data is still in L1 , L2 or even in L3 cache. This is often seen in processing arrays of data. Your first function is going to do 1 pass through the entire array making a huge amount of cache MISSes, then your second function will pass through the same array making another huge amount of cache MISSes. The result of this code is that a cluster of 1000 nodes is going to take 1 month in calculating solution for some problem, while with my code I will do it in a couple of days. I am really sorry to tumble your truth about the World, but the truth is: the World has many truths.
I agree. Performance sensitive code is a world of its own. These principle are mostly geared toward application developers working on larger codebases. Trying to apply them to 8-bit microcontroller code would be pure overhead. In the video I advise applying the patterns only when needed because of this.
You can find article versions of most videos at: quanticdev.com
💙💙💙
these principles are not useful when you write for performance (HPC, GPU computing, etc) , because if you separate repsonsibilities in 1 responsibility per function you are going to lose the data from cache, and your process is going to be twice as slow, than the process I will write with one function doing everything in one pass, while the data is still in L1 , L2 or even in L3 cache. This is often seen in processing arrays of data. Your first function is going to do 1 pass through the entire array making a huge amount of cache MISSes, then your second function will pass through the same array making another huge amount of cache MISSes. The result of this code is that a cluster of 1000 nodes is going to take 1 month in calculating solution for some problem, while with my code I will do it in a couple of days.
I am really sorry to tumble your truth about the World, but the truth is: the World has many truths.
I agree. Performance sensitive code is a world of its own. These principle are mostly geared toward application developers working on larger codebases. Trying to apply them to 8-bit microcontroller code would be pure overhead. In the video I advise applying the patterns only when needed because of this.
Could you say Your name?
Teo