1. A method, comprising: obtaining an execution unit associated with execution of a software program, wherein the execution unit comprises a start and an end; identifying, by a computer system, a set of fields accessed within the execution unit; calculating, by the computer system, one or more memory distances among the set of fields from a set of memory addresses of the set of fields during runtime of the software program on the computer system, wherein the memory addresses of the set of fields move during runtime, and wherein the one or more memory distances comprise a difference in average memory address between a first field and a second field in the set of fields; based at least in part on a memory distance in the one or more memory distances exceeding a threshold, storing an indication that the execution unit has a suboptimal memory layout; converting the one or more memory distances into one or more scores; aggregating the one or more scores into an overall score for the execution unit; ordering the execution unit with one or more additional execution units in the software program by the overall score; and displaying, by the computer system, a visualization of the suboptimal member layout.