FTM has some impressive algorithms. In the main window alone, there are four data views that are simultaneously presented for navigation and editing. Each of these in turn requires substantial CPU processing to keep the four windows in sync. Then there is the background housekeeping on the database, which involves what appear to be pretty sophisticated file read/write operations. I experience routine crashes and never lost data so I conclude those read/writes are also keeping a journal to facilitate recovery. All, this requires a lot of CPU cycles, but FTM only uses one of my four CPU cores, so it never uses more than 25% of my computer's power. The various operations, though, are inherently parallel. For example, analyzing a tree to present the graphical view of the relationships in the main window can be analyzed separately from sorting the name list in the Index window. And those are logically independent of the journal and data file housekeeping. Yet, rather than assigning these tasks to separate logical CPU cores, FTM takes these parallel computations and puts them in a single queue to assign to one CPU core.