Raymond Hettinger <raymond.hettin...@gmail.com> added the comment:

> I agree that this could be out of scope for the random module
> but I wanted to make sure the reasons were considered.

I think we've done that.  Let's go ahead and close this one down.

In general, better luck can be had by starting with a common real world problem 
not adequately solved by the library, then creating a clean API for it, and 
lastly searching for the best algorithm to implement it.  It is much tougher 
the other way around, starting with an algorithm you like, then hoping to find 
a use case to justify it, and hoping to find an API that isn't a footgun for 
everyday users.

FWIW, reservoir sampling was considered at the outset when sample() was first 
designed.  Subsequent to that we've also evaluated a high quality PR for 
switching the internals to reservoir sampling, but it proved to be inferior to 
the current implementation in most respects (code complexity, computational 
overhead, speed, and entropy consumed); the only gain was some memory savings.

----------
resolution:  -> rejected
stage:  -> resolved
status: open -> closed

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue41311>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to