So I decided to compute the first few terms of the automorphism series (finite part of the automorphism tower) for SmallGroup(16,3) in GAP in part to verify that $Aut^6(G)\simeq Aut^7(G)$ where
Now, $Aut^6(G)$ is a group of order 442,368 (as is its automorphism group). I constructed the tower iteratively. For the first few, they are small enough to have Ids in the library, so after constructing the group with the command AutomorphismGroup, I would Id it, and then redefine the group in terms of it's library entry. Once they got too big however, instead I would use NiceMonomorphism, and then redefine the group as the NiceObject thereof. I would then further construct a minimal generating set, and redefine the group a second time as GroupWithGenerators(MinimalGeneratingSet(G)). Then I would ask for it's automorphism group, and repeat that process again, once I had $Aut^7(G)$ expressed with minimal generating set, I asked it to construct the isomorphism via IsomorphismGroups(K,Aut(K)) where K here was $Aut^6(G)$. This took literally all day to do (just finished), but for some reason the time command reported it took 1283038 which is supposed to be in milliseconds (that's roughly 21mins time then).
Two questions: #1 Why is the time so far off? #2 What I can I do with the way the groups are presented in GAP to reduce runtime and improve performance (note that the 'Nice' commands are to get it into a permutation group). I did this in the past and it didn't take nearly as long, and I know at least one other person was able to very that isomorphism in a matter of minutes at most. (My CPU is a core i5-3450, and I have 4GB ram, so lack of computer power is not the issue.)