random_test is very slow since isc_random change
Before change 4947:
$ kyua test random_test
random_test:isc_rng_binarymatrixrank_16 -> passed [1.503s]
random_test:isc_rng_binarymatrixrank_bytes -> passed [0.918s]
random_test:isc_rng_blockfrequency_16 -> passed [0.718s]
random_test:isc_rng_blockfrequency_bytes -> passed [0.134s]
random_test:isc_rng_monobit_16 -> passed [0.706s]
random_test:isc_rng_monobit_bytes -> passed [0.130s]
random_test:isc_rng_runs_16 -> passed [1.151s]
random_test:isc_rng_runs_bytes -> passed [0.580s]
After change 4947:
$ kyua test random_test
random_test:isc_random_binarymatrixrank_16 -> passed [57.969s]
random_test:isc_random_binarymatrixrank_bytes -> passed [4.127s]
random_test:isc_random_blockfrequency_16 -> passed [58.222s]
random_test:isc_random_blockfrequency_bytes -> passed [3.374s]
random_test:isc_random_monobit_16 -> passed [59.008s]
random_test:isc_random_monobit_bytes -> passed [3.351s]
random_test:isc_random_runs_16 -> passed [59.605s]
random_test:isc_random_runs_bytes -> passed [3.649s]
Even worse, when running a full "make unit" with other unit tests being run in parallel, these are the grepped-out lines for random_test:
random_test:isc_random_binarymatrixrank_bytes -> passed [16.648s]
random_test:isc_random_monobit_bytes -> passed [15.136s]
random_test:isc_random_blockfrequency_bytes -> passed [25.718s]
random_test:isc_random_runs_bytes -> passed [18.061s]
random_test:isc_random_monobit_16 -> passed [171.179s]
random_test:isc_random_binarymatrixrank_16 -> passed [177.380s]
random_test:isc_random_blockfrequency_16 -> passed [176.568s]
random_test:isc_random_runs_16 -> passed [166.775s]
Of greatest concern: the unit test doesn't appear to have been significantly changed, other than switching to the new isc_random
API. It isn't running more iterations or anything. This suggests that isc_random
performs less than a tenth as well as isc_rng
did, which is alarming. If true, I'd expect it to impact on resolver performance.
Edited by Evan Hunt