The number or rows and columns can be arbitrarely large, but not all table(5NEMO) programs in NEMO will be able to deal with large columns or rows. Usually rows can be managed with the nmax= keyword, but columns is hidden deeper and not under user control.
Using mode < 0 numbers are generated but not output, in effect allowing a benchmark.
/usr/bin/time tabgen . 10000 10000 -1 1.38user 0.29system 0:01.68elapsed 99%CPU /usr/bin/time tabgen . 10000 10000 1 28.60user 0.14system 0:28.77elapsed 99%CPUThe raw production of random numbers is thus about 72 Mrups (same speed as numpy.random.normal), where the Linpack benchmark claims this machine runs at 50 GFlops.
Generating a sequence of numbers is relatively slow in
tabgen. To generate 10M numbers is slow compared ot the standard unix tool
seq(1)
:
/usr/bin/time tabgen - 10000000 1 4 fmt=%-10.f > tab2 9.89user 0.07system 0:09.97elapsed 99%CPU /usr/bin/time seq 10000000 > tab2 0.19user 0.22system 0:00.42elapsed 98%CPUwhich is most likely the more complex operations of a floating point fprintf(3) .
12-Jul-2020 V0.1 Created PJT 14-jul-2020 V0.3 mode= implemented PJT 25-jul-2020 V0.4 changed meaning of mode= PJT