It is - only due to my self-inflicting exhaustion ahahaha... otherwise it's pretty mundane, moving code around, rewriting very simple pieces in a different order that affect the processor cache, trying various compilation flags (that can take hours because there are so many combinations that can make a difference) etc. Thing is I'm not a good coder (I don't consider myself one actually) so my "repertoire" of what I can do in terms of optimization, like rewriting entire chunks differently, is pretty limited. Still the avenues you can explore to make stuff faster are a lot.
One of the "mind blowing" things about optimization, is that of hardware efficiency. Imagine a data center, if you will, like FB or Google, where they pay millions of dollars in hardware and energy. Say a data center can have 10mn operating expenses. Now if you can make things faster by just 10% - suddenly you consume much less power - say -5%. And then you save hundreds of thousands of dollars. When you extrapolate this same process into multiple data centers of the same company, you get millions in savings just because a small tweak made a program faster. It's similar with mining hardware too - as you pay less for electricity for more hashpower. Yet I don't run any costly data center or mining data center - but the idea that this can do that and that I can achieve it, is kind of appealing to me.
On a deeper level I can't really relax if something is not working at optimal efficiency at all times. My mind keeps going back to a pattern like "ok I need to make this better ASAP". And it won't settle until I do it, lol...
It is - only due to my self-inflicting exhaustion ahahaha... otherwise it's pretty mundane, moving code around, rewriting very simple pieces in a different order that affect the processor cache, trying various compilation flags (that can take hours because there are so many combinations that can make a difference) etc. Thing is I'm not a good coder (I don't consider myself one actually) so my "repertoire" of what I can do in terms of optimization, like rewriting entire chunks differently, is pretty limited. Still the avenues you can explore to make stuff faster are a lot.
One of the "mind blowing" things about optimization, is that of hardware efficiency. Imagine a data center, if you will, like FB or Google, where they pay millions of dollars in hardware and energy. Say a data center can have 10mn operating expenses. Now if you can make things faster by just 10% - suddenly you consume much less power - say -5%. And then you save hundreds of thousands of dollars. When you extrapolate this same process into multiple data centers of the same company, you get millions in savings just because a small tweak made a program faster. It's similar with mining hardware too - as you pay less for electricity for more hashpower. Yet I don't run any costly data center or mining data center - but the idea that this can do that and that I can achieve it, is kind of appealing to me.
On a deeper level I can't really relax if something is not working at optimal efficiency at all times. My mind keeps going back to a pattern like "ok I need to make this better ASAP". And it won't settle until I do it, lol...