This research investigates the performance of various different permutation generation algorithms and how they can be optimised to improve execution time. Feel free to use the source code, which implements 5 different methods of permutation generation.