(2023-05-10) The perfection of imperfection ------------------------------------------- One of my upcoming pet projects, as crazy as it might look, will have a profiling part to determine the approximate amount of cycles that we need to skip on a particular machine to fit into a single 1/60 second frame. And I want to stress on the word "approximate" here. First, the timing method is itself imperfect (the sacrifice needed for full POSIX compliance) and only returns two figures after the decimal point. Second, the calculated result may vary between different runs and really depends on the current system workload. Third, we don't need the exact cycle count there, only the order of magnitude by which we need to slow down every frame loop iteration, and on the slower systems/runtimes, the amount of cycles we need to skip may be 10 to 30 times less than on higher performance systems. Regardless of the project itself, this alone is a very interesting challenge. What's more interesting is that the exact precision is not possible to achieve and not generally required. As another example, I have a circular slide rule (model KL-1) in my pocket (holstered in a small pouch that originally belonged to a cheap Chinese pocket microscope). Two figures after the decimal point is the precision limit it can operate with, and even that can't be achieved in all possible conditions. Does this make it useless? Hell no! It's an efficient tool to quickly estimate square roots, sines/arcsines, proportions, reciprocals and products. And if I can't measure length with resolution less than 0.1 mm, weight less than 0.1 g and time less than 0.5 s anyway, why would I need to calculate anything using these measurements with the precision less than 0.01? If I, for instance, use my scientific calculator and get the result of 7.8378332, it will be of the same value to me as the 7.84 I'm gonna get on the slide rule. Because the source measurements are just as imprecise to make the rest of decimal digits insignificant. What I'm trying to say is that there is a whole bunch of engineering tasks that don't require us to operate with exact numbers. Just because we got used to them in the today's world doesn't mean we need them every single time. And this has its own beauty in it, as well as the fact that more older and reliable tools are still relevant to this day. --- Luxferre ---