Compare commits
1 Commits
io_ring
...
e117334dee
| Author | SHA1 | Date | |
|---|---|---|---|
| e117334dee |
12
README.md
12
README.md
@@ -7,20 +7,20 @@ Collects some metadata and hashes files.
|
|||||||
#### Release:
|
#### Release:
|
||||||
clang-cl /O3 file_hasher.c xxh_x86dispatch.c
|
clang-cl /O3 file_hasher.c xxh_x86dispatch.c
|
||||||
|
|
||||||
Note: MinGW does not provide IO Ring headers yet, to fix that include ioringapi.c, this will dynamically load all the functions and define all the symbols necessary to replace the official header.
|
Note: MinGW does not provide IO Ring headers yet, to fix that include ioringapi.c, this will dynamically load all the functions and define all the symbols necessary to replace the official header.
|
||||||
clang -O3 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
clang -O3 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
gcc -O3 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
gcc -O3 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
|
|
||||||
#### Debug:
|
#### Debug:
|
||||||
clang-cl /Zi /Od file_hasher.c xxh_x86dispatch.c
|
clang-cl /Zi /Od file_hasher.c xxh_x86dispatch.c
|
||||||
clang -g -O0 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
clang -g -O0 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
gcc -g -O0 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
gcc -g -O0 file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
|
|
||||||
### Linux:
|
### Linux:
|
||||||
#### Release:
|
#### Release:
|
||||||
clang -O3 file_hasher.c xxhash.c xxh_x86dispatch.c -pthread -luring -o file_hasher
|
clang -O3 -pthread file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
gcc -O3 file_hasher.c xxhash.c xxh_x86dispatch.c -pthread -luring -o file_hasher
|
gcc -O3 -pthread file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
|
|
||||||
#### Debug:
|
#### Debug:
|
||||||
clang -g -O0 file_hasher.c xxhash.c xxh_x86dispatch.c -pthread -luring -o file_hasher
|
clang -g -O0 -pthread file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
gcc -g -O0 file_hasher.c xxhash.c xxh_x86dispatch.c -pthread -luring -o file_hasher
|
gcc -g -O0 -pthread file_hasher.c xxh_x86dispatch.c -o file_hasher
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ Fixing user prompt parsing
|
|||||||
Reorganising the code
|
Reorganising the code
|
||||||
Improving the scan function
|
Improving the scan function
|
||||||
|
|
||||||
5.0: Implementing the IO Ring for windows and ui_uring for linux instead of buffered hashing, huge performance gains. The IO Ring is event driven, thread local, uses DMA and direct disk I/O, bypassing the OS cash completely, registred buffers, it supports bashing multiple submissions and can handle multiple files at the same time.
|
5.0: Implementing the IO Ring instead of buffered hashing, huge performance gains. The IO Ring is event driven, thread local, uses DMA and direct disk I/O, bypassing the OS cash completely, it supports bashing multiple submissions and can handle multiple files at the same time.
|
||||||
Hashing small files using XXH3_128bits() instead of the streaming pipeline(XXH3_128bits_reset(), XXH3_128bits_update(), XXH3_128bits_digest()), this reduses the overhead of creating a state and digest, coupled with the IO Ring it improves the hashing of small files whose size is inferior to the size of IO Ring buffers
|
Hashing small files using XXH3_128bits() instead of the streaming pipeline(XXH3_128bits_reset(), XXH3_128bits_update(), XXH3_128bits_digest()), this reduses the overhead of creating a state and digest, coupled with the IO Ring it improves the hashing of small files whose size is inferior to the size of IO Ring buffers
|
||||||
fixing the xxh_x86dispatch warnings
|
fixing the xxh_x86dispatch warnings
|
||||||
Updating the progress printing function
|
Updating the progress printing function
|
||||||
|
|||||||
@@ -989,7 +989,9 @@ typedef struct ThreadIoContext {
|
|||||||
int num_submissions;
|
int num_submissions;
|
||||||
int active_files;
|
int active_files;
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
int use_registered_buffers;
|
int use_registered_buffers;
|
||||||
|
#endif
|
||||||
} ThreadIoContext;
|
} ThreadIoContext;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user