There is still overhead in dealing with six DOF, but it saves some time by setting three of them to a known value of 0.
The solver assembles the stiffness matrix, then partitions it to create a smaller matrix containing only unknown DOF.
The most time consuming step in the whole process is solving the matrix for the unknown DOF.
The answer from that solution is put back into the full stiffness matrix to do postprocessing.