Speeding up permutations generation

Mark Lawrence breamoreboy at yahoo.co.uk
Fri Mar 6 05:33:01 EST 2015


On 06/03/2015 09:59, Chris Angelico wrote:
> On Fri, Mar 6, 2015 at 7:24 PM, Abhiram R <abhi.darkness at gmail.com> wrote:
>>> A list of 100 elements has approximately 9.33 x 10**157 permutations.
>>> If you could somehow generate one permutation every yoctosecond,
>>> exhausting them would still take more than a hundred orders of
>>> magnitude longer than the age of the universe.
>>> --
>>> https://mail.python.org/mailman/listinfo/python-list
>>
>>
>> True that :D I may have exaggerated on the number. Let's consider something
>> more practically manageable => 50 elements with a 50! permutation.
>> Is there a solution now?
>>
>
> Is the actual generation of permutations your problem? You mentioned
> that you're using itertools, so I would expect that you're simply
> iterating over that; I hope you're not immediately trying to construct
> a list of them all, because that would cost the memory that Mark's
> response talks about. Have you actually profiled your code and found
> that generating permutations is the bottleneck, or did you just guess?
> Because even experienced programmers - even extremely experienced
> Python programmers - are usually wrong when they guess about the
> slowest part of a program. The only way to know is to measure.
>
> ChrisA
>

s/Mark/Wolfgang/ ?

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list