diff options
author | 2021-02-15 13:08:54 +0200 | |
---|---|---|
committer | 2021-02-15 13:08:54 +0200 | |
commit | 9569e629c8e73dcdc3f93b5fc6156db827d6b7b1 (patch) | |
tree | 43453709b52f3a1d3f74059c22d85a4d89a54aca /src/main.c | |
parent | 3f0c21826b4a4e59c937dc8435edb5be7100b078 (diff) | |
download | algos-ld1-9569e629c8e73dcdc3f93b5fc6156db827d6b7b1.tar.gz algos-ld1-9569e629c8e73dcdc3f93b5fc6156db827d6b7b1.tar.bz2 algos-ld1-9569e629c8e73dcdc3f93b5fc6156db827d6b7b1.zip |
cease inefficient /dev/urandom fiddling.
Instead of reading /dev/urandom like a file (i.e. overhead / extra
syscalls, etc.), just use getrandom(2) directly, lol.
Signed-off-by: Gediminas Jakutis <gediminas@varciai.lt>
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -13,8 +13,6 @@ #include "cache.h" #include "datagen.h" -static char randfile[] = "/dev/urandom"; - static struct settings settings = {0}; static int parseargs(int argc, char **argv, struct settings * settings); @@ -38,8 +36,7 @@ int main(int argc, char **argv) try_s((ret = parseargs(argc, argv, &settings)), early_out); if (settings.opmode == mode_generate) { - file_in.name = randfile; - file_in.type = stream_chardev; + file_in.type = stream_randread; file_in.n = settings.to; } else { file_in.name = settings.filein; @@ -188,7 +185,7 @@ int load_io_functions(struct settings const * const s, struct stream * const in) } else { /* TODO */ } - } else if (in->type == stream_chardev) { /* data generation streams do not support dumping nor any cache I/O beyond initial data generation */ + } else if (in->type == stream_randread) { /* data generation streams do not support dumping nor any cache I/O beyond initial data generation */ if (s->format == array) { in->get_next_element_direct = gen_get_array; in->place_next_element_cache = cached_put_array; |