Stage 4, day 2:
I made a lot of dream last night. They were weird and meaningful in a incomprehensible way.
I love doing them. I take that as a sign that my subconscious mind is processing what is being told.
I have upgraded my server as I said I would in my last entry. Improvement feature #1 code was making the server crash at startup. After struggling for an hour or 2, I have finally found out the silly error and I did fix it.
My server did crash again. This time on new code that was written for improvement feature #1. Something is still broken in this code but I fail to see what it is. I am currently working on this issue. It should be resolved later today...
Improvement feature #3 was a better instrumentation of my code to have a clearer view of the system reaction time and yesterday while I was totally unaware how improvement feature #1 was breaking the server (only when it is triggered which can happen few hours after startup), I felt like I did stumble into a pile of gold. Code that I thought was perfect is in fact far from it. I was relying on my intuition. Now, I have a precise measurment. We are talking about microseconds. What I believe is despite being front runned by milliseconds on the exchange server side, I think that it may be caused by a trading volume spike on their servers and getting in front of the herd might be a question of uSecs that may end up make my system order being processed mSecs faster.
Bottomline, with this feature #3 in place, this has given me a couple of ways to make my system run faster and this filling me with joy! One unexpected way to make my system faster is to flip my compilation to use C++20 instead of C++11. There is a new addition in C++20 in a standard class that I am using that makes possible to reduce memory allocation and memory copies in an area of the code that my instrumentation has shown to be a performance bottleneck...
This is really cool... I am enjoying myself a lot right now...
I made a lot of dream last night. They were weird and meaningful in a incomprehensible way.
I love doing them. I take that as a sign that my subconscious mind is processing what is being told.
I have upgraded my server as I said I would in my last entry. Improvement feature #1 code was making the server crash at startup. After struggling for an hour or 2, I have finally found out the silly error and I did fix it.
My server did crash again. This time on new code that was written for improvement feature #1. Something is still broken in this code but I fail to see what it is. I am currently working on this issue. It should be resolved later today...
Improvement feature #3 was a better instrumentation of my code to have a clearer view of the system reaction time and yesterday while I was totally unaware how improvement feature #1 was breaking the server (only when it is triggered which can happen few hours after startup), I felt like I did stumble into a pile of gold. Code that I thought was perfect is in fact far from it. I was relying on my intuition. Now, I have a precise measurment. We are talking about microseconds. What I believe is despite being front runned by milliseconds on the exchange server side, I think that it may be caused by a trading volume spike on their servers and getting in front of the herd might be a question of uSecs that may end up make my system order being processed mSecs faster.
Bottomline, with this feature #3 in place, this has given me a couple of ways to make my system run faster and this filling me with joy! One unexpected way to make my system faster is to flip my compilation to use C++20 instead of C++11. There is a new addition in C++20 in a standard class that I am using that makes possible to reduce memory allocation and memory copies in an area of the code that my instrumentation has shown to be a performance bottleneck...
This is really cool... I am enjoying myself a lot right now...