Hi Carlo, On Thu, 28 Oct 2021, Carlo Marcelo Arenas Belón wrote: > d5cfd142ec (tests: teach the test-tool to generate NUL bytes and > use it, 2019-02-14), add a way to generate zeroes in a portable > way without using /dev/zero (needed by HP NonStop), but uses a > long variable that is limited to 2^31 in Windows. > > Use instead a (POSIX/C99) intmax_t that is at least 64bit wide > in 64-bit Windows to use in a future test. > > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@xxxxxxxxx> Thank you for this patch. I integrated it into the patch series. Unfortunately, it is incomplete, not because it does not work, but because it comes at a hefty performance cost. In my tests, generating a gigabyte of NULs took around 27 seconds with `genzeros`. Compare that to ~0.75 seconds with `dd`, and it is not funny, stop laughing. Happily, I was able to rewrite the core part of `genzeros` to write chunks of a 256kB array instead, which pushed it back down to ~0.6 seconds. Will send out a new iteration as soon as the CI build passes. Ciao, Dscho > --- > t/helper/test-genzeros.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/t/helper/test-genzeros.c b/t/helper/test-genzeros.c > index 9532f5bac9..b1197e91a8 100644 > --- a/t/helper/test-genzeros.c > +++ b/t/helper/test-genzeros.c > @@ -3,14 +3,14 @@ > > int cmd__genzeros(int argc, const char **argv) > { > - long count; > + intmax_t count; > > if (argc > 2) { > fprintf(stderr, "usage: %s [<count>]\n", argv[0]); > return 1; > } > > - count = argc > 1 ? strtol(argv[1], NULL, 0) : -1L; > + count = argc > 1 ? strtoimax(argv[1], NULL, 0) : -1; > > while (count < 0 || count--) { > if (putchar(0) == EOF) > -- > 2.33.0.1155.gbdb71ac078 > > >