On 6 Aug 2014 at 8:58, Szymon Gatner wrote:
Ah yes. The directory monitor isn't ready for production use. By production use I mean:
* Can cope with 1m entry directories easily as the rest of AFIO can.
* Can handle 50,000 entries changing every second in a 1m entry directory without losing change deltas and without racing on individual stats on a 2Ghz single core, with approximate linear scaling with additional cores i.e. four cores can monitor four 1m entry directories seeing 5% change.
I should be OK :) What are the advantages over Boris' version tho?
Boris's won't deadlock as frequently as the AFIO one :). If code isn't in the master or stable branch in AFIO, I wouldn't use it. You could use AFIO's directory enumeration which is in stable combined with Boris' directory monitoring. It depends on if you need unracy metadata support on Windows as Filesystem is currently racy there.
Sorry, I forgot (it's nearly 2am) to mention that AFIO itself is production ready and has been in the review queue since October 2013.
Why isn't it under review yet?
There is a large backlog, some libraries have been waiting in the queue for years. Part of this is due to sickness in the Boost culture and the ongoing decline of Boost for two years now, part is simply because no one wants nor needs a portable asynchronous file i/o library and therefore no one is interested in volunteering as review manager. Besides, it wouldn't pass a review right now because its API would be considered unusable as it was designed for maximum speed, and therefore isn't "Boosty enough" - people would ask "where are the iterators?" etc etc. This is also because the API is designed as a stable binary ABI to be assembled by the forthcoming monadic continuations framework being led out by Vicente. Still, if you need maximum portable file i/o performance now, it works very well and will continue to work into the future. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/