Happy Halloween!

Hello everyone.

It has been a week!

I have had severe food poisoning and tech failures all up and down this past week. I ordered a new mobile work station which should arrive today(it did) and the food poisining has passed(mostly)!

Since I have been in a constant haze this week, I devided to take a break from the physic engine I am developing for my game. Instead I looked at the standard libraries used in C++. I noticed that they are built to handle everything. Any situation, Any error, Anything and everything. This is really great and diving into specifically IOstream, I gained a newfound awe of those that created it. I did also realize that it isn't built to be optimized for my situation. I dived into the logistics and the how-tos on mimproving it. I only included 4 items(3 if on mac or linux). These are cstdint, cstdef,io.h and fcntl.h(unistd.h for linux and mac). I named it ballIO as it goes well with the naming system of a even slower WIP I am doing(making custom modular parts of an enging that I can use at anytime) It's around 250 LOC and still needs to have input added but, the output is really really nice. I did a comparison to check how fast each can write to console to see the difference for each string, float and int. I had both my IO and iostream printer a million items to console to show feasible numbers and got the following(as an average of 10 tests):ballio OutputBuffer integers: 0.09s std::ofstream integers: 1.85s ballio OutputBuffer Floats 0.15s std::ofstream Floats 3.65s ballio OutputBuffer strings 0.08s std::ofstream strings 0.278s

I am very happy with this result as I know everything that can be optimized should be. since those slivers of optimization could just be what makes me be able to do everything I want. I will be setting up my new workstation as soon as I can and you should be seeing more consistant work from me in the coming weeks! Stay tuned.

← Back to Blog