title: Is there a faster/optimisable way to find unique combinations from a set/list of unique elements in python
body: <p>I am trying to find all the possible <strong>unique combinations out of n elements, taken m at a time.</strong> I have used <strong>itertools.combinations</strong> for the same and I have <strong>n=85</strong>.
  So when I'm finding combinations for <strong>m=5</strong>, the number of combinations produced are about 3 cr and it is taking a lot of time, since as of now, the elements are a list of strings, or more precisely, they're columns in the alphabetical fashion, <strong>not numerical indices</strong>. I am currently working with <strong>pandas</strong> and itertools.combinations, would like to know if the process of finding combinations could be <strong>parallelised</strong>, to give same results every time upon further calculations that I perform on the columns further, or whether <strong>GPU dataframes, like cuDF</strong> might optimise this, although it doesn't look like it. Also, could converting the column names into numbers and then converting it into a <strong>numpy array</strong> to work on while finding combinations work faster? 
  Please also suggest solutions where this could be done faster in some other programming language as well. 
  Not a very good programmer. Would love to see some mathematical and programmatic solutions with a <strong>complexity analysis.</strong> </p>