diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2017-08-06 02:31:20 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2017-08-06 02:31:20 +0300 |
commit | 709130ce1ff4294a4527edeeeb73ec92e83fbc56 (patch) | |
tree | 859d8cfe3f810ff1de70ed7504e04c5146ab3cda | |
parent | 1d6271aba43b3c6702ed84de80201d52a1e2a57d (diff) |
upd
-rw-r--r-- | .ci.cmake | 4 | ||||
m--------- | doc/html | 8 | ||||
m--------- | include/afio/outcome | 0 | ||||
-rw-r--r-- | include/afio/revision.hpp | 6 | ||||
-rw-r--r-- | include/afio/v2.0/stat.hpp | 2 | ||||
-rw-r--r-- | release_notes.md | 20 | ||||
m--------- | test/kerneltest | 0 |
7 files changed, 29 insertions, 11 deletions
@@ -49,10 +49,10 @@ else() endif() ctest_build(TARGET _sl-asan) set(CTEST_CONFIGURATION_TYPE "asan") -ctest_test(RETURN_VALUE retval2 INCLUDE "afio_sl") +ctest_test(RETURN_VALUE retval2 INCLUDE "afio_sl" EXCLUDE "shared_fs_mutex") ctest_build(TARGET _sl-ubsan) set(CTEST_CONFIGURATION_TYPE "ubsan") -ctest_test(RETURN_VALUE retval3 INCLUDE "afio_sl") +ctest_test(RETURN_VALUE retval3 INCLUDE "afio_sl" EXCLUDE "shared_fs_mutex") merge_junit_results_into_ctest_xml() if(EXISTS "${toupload}") ctest_upload(FILES "${toupload}") diff --git a/doc/html b/doc/html -Subproject 0ebeb14aee925cfbc83e5b93468ccc7f6b36ca2 +Subproject 1d0d1f374fb16fd4b5f084b6b8448e601379889 diff --git a/include/afio/outcome b/include/afio/outcome -Subproject 8d7ddc8960f053d3fcbd4b9a2ed76cc09caa228 +Subproject 3f75c63fe549d4023febbdf750f6ea67f793c0f diff --git a/include/afio/revision.hpp b/include/afio/revision.hpp index 45207af9..85b9b087 100644 --- a/include/afio/revision.hpp +++ b/include/afio/revision.hpp @@ -1,4 +1,4 @@ // Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time -#define AFIO_PREVIOUS_COMMIT_REF 992688fabe1beea000539e8be6690180f12d85ef -#define AFIO_PREVIOUS_COMMIT_DATE "2017-08-03 23:22:31 +00:00" -#define AFIO_PREVIOUS_COMMIT_UNIQUE 992688fa +#define AFIO_PREVIOUS_COMMIT_REF 1d6271aba43b3c6702ed84de80201d52a1e2a57d +#define AFIO_PREVIOUS_COMMIT_DATE "2017-08-04 01:58:06 +00:00" +#define AFIO_PREVIOUS_COMMIT_UNIQUE 1d6271ab diff --git a/include/afio/v2.0/stat.hpp b/include/afio/v2.0/stat.hpp index e640de2b..ef14ee70 100644 --- a/include/afio/v2.0/stat.hpp +++ b/include/afio/v2.0/stat.hpp @@ -99,7 +99,7 @@ struct stat_t QUICKCPPLIB_BITFIELD_BEGIN(want) { dev = 1 << 0, ino = 1 << 1, type = 1 << 2, perms = 1 << 3, nlink = 1 << 4, uid = 1 << 5, gid = 1 << 6, rdev = 1 << 7, atim = 1 << 8, mtim = 1 << 9, ctim = 1 << 10, size = 1 << 11, allocated = 1 << 12, blocks = 1 << 13, blksize = 1 << 14, flags = 1 << 15, gen = 1 << 16, birthtim = 1 << 17, sparse = 1 << 24, - compressed = 1 << 25, reparse_point = 1 << 26, all = (unsigned) -1 + compressed = 1 << 25, reparse_point = 1 << 26, all = (unsigned) -1, none = 0 } QUICKCPPLIB_BITFIELD_END(want) //! Constructs a UNINITIALIZED instance i.e. full of random garbage diff --git a/release_notes.md b/release_notes.md index fbbbc52e..db8a775f 100644 --- a/release_notes.md +++ b/release_notes.md @@ -7,10 +7,28 @@ </tr> </table></center> -Herein lies my proposed async file i/o and filesystem library for Boost and the C++ standard. +Herein lies my proposed zero whole machine memory copy async file i/o and filesystem +library for Boost and the C++ standard. It is a complete rewrite after a Boost peer review in August 2015. Its github source code repository lives at https://github.com/ned14/boost.afio. +Why you might need AFIO: Average 4Kb transfer latencies for the physical hardware: +- Average read spinning rust hard drive latency @ QD1: **7000us** +- Average read SATA flash drive latency @ QD1: **800us** +- Average `memcpy(4Kb)` latency: **500us** (main memory) to **90us** (L2 cache) +- Average read NVMe flash drive latency @ QD1: **300us** +- Average RTT UDP packet latency over a LAN: **60us** +- Average read XPoint drive latency @ QD1: **10us** +- Average RTT PCIe latency: **0.5us** + +Why you might need AFIO: Max bandwidth for the physical hardware: +- DDR4 2133: **30Gb/sec** (main memory) +- x4 PCIe 4.0: **7.5Gb/sec** (arrives end of 2017, the 2018 NVMe drives will use PCIe 4.0) +- x4 PCIe 3.0: **3.75Gb/sec** +- 2017 XPoint drive (x4 PCIe 3.0): **2.5Gb/sec** +- 2017 NVMe flash drive (x4 PCIe 3.0): **2Gb/sec** +- 10Gbit LAN: **1.2Gb/sec** + \note Note that this code is of late alpha quality. It's quite reliable, but be careful when using it! You need these compilers or better: diff --git a/test/kerneltest b/test/kerneltest -Subproject 8c54e6f4d5ab73e7947223c40e1a8b261b33971 +Subproject 14d21ea189cbdfbd93a2a6400b1f773aefb871b |