Is there a source of moderately random data with good speed in Cygwin?

Andrey Repin
Wed Feb 27 17:20:00 GMT 2013

Greetings, Adam Dinwoodie!

>> I was need to pipe some bytes through application and watch it's reaction.
>> But with /dev/urandom the stream speed is only about 40Mb/sec.  Using
>> /dev/zero, however, makes it 3 orders of magnitude faster (~35Gb/s), but for
>> technical reasons, using monotonous sequence is highly undesirable.  Is there
>> any more performant source of non-monotonous byte sequences available to
>> Cygwin? I would be pretty happy even with sequential bytes, I think. Only two
>> reservations are good performance (something around 100 Mb/sec or more would
>> suffice) and a degree of randomness.

> You want a source of data that's non-monotonous but faster than /dev/urandom.
> I don't see how this is a Cygwin issue at all, and thus I don't think it
> belongs on this list.

I'm not very familiar with this kind of things in general, and as I'm writing
scripts for Cygwin right now, I though there may be some Cygwin specifics in

> Nonetheless, I suspect the easiest solution is to write a short C program to
> produce your output, along the lines of (untested):

>     #include <stdio.h>
>     int main () {
>         unsigned char c;
>         for (c = 0;; c++)
>             putchar(c);
>     }

6Mb/sec, but thanks for a try.

> Alternatively, pre-cache some output and use that:

>     head --bytes=1G >/var/cache/randomdata
>     ./myapp <(while :;do cat /var/cache/randomdata; done)

Seems, like that would be the most reasonable way of doing things.
And since this is, apparently, not specific to Cygwin, I consider the question

Andrey Repin ( 27.02.2013, <20:42>

Sorry for my terrible english...

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list