Though the halting problem may be decidable for universal machines with finite memory, we still don't know what the program that iterates the most states before halting looks like. The issue is further clouded when you allow a program to edit its own code..ie no code/data separation. In fact, if a machine separates code and data, the same one that doesn't will be able to run for longer before halting, iterating more states.
Now, this is a hunch based on research I have been working on: I believe that the programs that iterate the most states before halting have symmetry in time. The structure would mimic V [1]
Heres how the programs would operate:
Iterate all possible configurations for a finite subset of the memory.
Then iterate all possible ways to iterate.
Then iterate all possible ways to iterate all possible ways.
In writing the program, one would repeat the nesting until the program's memory requirements cannot support a halting condition. And then dial it back until they do.
The naive procedural method of a bunch of nested for loops will fail spectacularly. Static code is simply an inefficient use of memory space. That is what makes the challenge to write this necessarily polymorphic/self-modifying emulation of V in time and memory, a challenge still unsolved. But I think we are close.
The amount of nesting would be a measure of the memory requirements necessary to iterate X configurations, a kind of constant representating the languages specific relationship between code and data, efficiency of sorts. This constant would be determined by the language but moreso, the limits of computation in general.
[1] https://en.wikipedia.org/wiki/Von_Neumann_universe