tree a6cdd695b8ee544bb9d05eab69c3254345204219
parent 368e9ce9a6b09189784b67244404f60642e91164
author Keith Turner <kturner@apache.org> 1550860985 -0500
committer GitHub <noreply@github.com> 1550860985 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJccEK5CRBK7hj4Ov3rIwAAdHIIAJec7aBDtgGfMWkeAEv0WyHk
 MsS/RT+ErzkeEgWeaVIgkhfi9G9iBMHxLVZok5gh7yDtUf61wBnR75VD0SK/eHah
 lZUv/6FrzfuucrQXW4Fen9jmKVteQPRr39ru9sXj01P6dVF0ulpN1AiWYw84GwT9
 g+rHqxrpf+yMoY587GVndmphYHwuS3iTnAJgASuYiS8jU28AYWo/gAzTaX27xu8C
 QVoe0rqrwcA1lZxcTFczR39dlLe4iqddt6fTXX+HGRbwevy9zpfHBaw6RKi5TTcO
 md7azqrzhN97CHq4EnyQlfb3Xqmlos+n1WU0s0HvMoE86sB3OPyw9d0Mc8z02gU=
 =AK5J
 -----END PGP SIGNATURE-----
 

Improve yield+scan exec performance test (#57)

Before this commit the filters running in the background had a very low
chance of returning data.  This did not execercise the use case of an
iterator returning data very slowly.  Returning data very slowly results
in slowly filling a buffer.  The test was modified to run the filter
scans with multiple probabilites which causes data to return with
different velocities.  Also the yield filter was modfied to support
yielding across returning a key/value.

The design of the yield filter was improved so that subclasses do not
have to override init().