not to underestimate things... but the GCODE seems relatively easy to parse based on the print head speed and distance traveled for the movements.
but it seems like octopi just guesses based on how many kbs of code remain. Even if some code is super dense tiny segments, and others are long straight lines of infil with very long print times per kb.
Am I grossly underestimating the processing effort required to analyze the gcode in this fashion?
What's in your gcode can be overwritten by what's configured in firmware. However, there are better options. Install the Print Time Genius plugin, it's great and learns over time.