#define _LARGEFILE64_SOURCE
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>
#define BLOCK_SIZE 1<<20ul
#define ITERATIONS 1000
int main( )
{
char * p;
FILE* f;
clock_t before, after;
double delta;
int fd, i, j;
// f = fopen("dummy.bin", "w");
fd = open( "dummy.bin" , O_BINARY | O_DIRECT | O_CREAT | O_WRONLY) ;
sync( ) ;
for ( i = 0 ; i < ITERATIONS; ++ i)
{
for ( j = 0 ; j < BLOCK_SIZE; ++ j)
p[ j] = ( ( char ) i) ^ ( ( char ) j) ;
}
sync( ) ;
delta = ( after - before) / ( double ) CLOCKS_PER_SEC;
printf ( "%.3f MB/s (%i Mb in %.2fs)\n " , ITERATIONS
/ delta
, ITERATIONS
, delta
) ;
return 0 ;
}
I2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiAKI2RlZmluZSBCTE9DS19TSVpFIDE8PDIwdWwKI2RlZmluZSBJVEVSQVRJT05TIDEwMDAKIAppbnQgbWFpbigpCnsKICAgICAgICBjaGFyKiBwOwogICAgICAgIEZJTEUqIGY7CiAgICAgICAgY2xvY2tfdCBiZWZvcmUsIGFmdGVyOwogICAgICAgIGRvdWJsZSBkZWx0YTsKICAgICAgICBpbnQgZmQsIGksIGo7CiAKICAgICAgICBwID0gbWFsbG9jKEJMT0NLX1NJWkUpOwoKICAgICAgICAvLyBmID0gZm9wZW4oImR1bW15LmJpbiIsICJ3Iik7CiAgICAgICAgZmQgPSBvcGVuKCJkdW1teS5iaW4iLCBPX0JJTkFSWSB8IE9fRElSRUNUIHwgT19DUkVBVCB8IE9fV1JPTkxZKTsKICAgICAgICBmID0gZmRvcGVuKGZkLCAidyIpOwogCiAgICAgICAgc3luYygpOwoKICAgICAgICBiZWZvcmUgPSBjbG9jaygpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBJVEVSQVRJT05TOyArK2kpCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgQkxPQ0tfU0laRTsgKytqKQogICAgICAgICAgICAgICAgcFtqXSA9ICgoY2hhcilpKV4oKGNoYXIpaik7CiAgICAgICAgICAgIGZ3cml0ZShwLCBCTE9DS19TSVpFLCAxLCBmKTsKICAgICAgICB9CiAgICAgICAgZmZsdXNoKGYpOwogICAgICAgIGZjbG9zZShmKTsKICAgICAgICBmcmVlKHApOwoKIAogICAgICAgIHN5bmMoKTsKIAogICAgICAgIGFmdGVyID0gY2xvY2soKTsKICAgICAgICBkZWx0YSA9IChhZnRlciAtIGJlZm9yZSkgLyAoZG91YmxlKUNMT0NLU19QRVJfU0VDOwogICAgICAgIHByaW50ZigiJS4zZiBNQi9zICglaSBNYiBpbiAlLjJmcylcbiIsIElURVJBVElPTlMgLyBkZWx0YSwgSVRFUkFUSU9OUywgZGVsdGEpOwogCiAgICAgICAgcmV0dXJuIDA7Cn0KCg==
compilation info
prog.c: In function ‘main’:
prog.c:24: error: ‘O_BINARY’ undeclared (first use in this function)
prog.c:24: error: (Each undeclared identifier is reported only once
prog.c:24: error: for each function it appears in.)
prog.c:24: error: ‘O_DIRECT’ undeclared (first use in this function)
prog.c:34: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
stdout