On 05/26/2015 08:24 PM, Hartmut Kaiser wrote:
I'm assuming that the code Niall posted isn't literally written like that but is instead produced after inlining such generic method calls for a particular test case. I doubt any speedup based on all of this fancy-pants optimizations would be even measurable in the context of file system operations. I'm still highly doubtful of all of this.
As said, give me a real world use case with real world measurements showing at least some speedup over 'conventional' futures. Otherwise all of this is an empty exercise.
It can be important for O_DIRECT AIO operations. I agree that for buffered I/O, the filesystem overhead will dominate (and, on Linux, you don't have a way to implement futures over buffered I/O without resorting to threads, which will slow things down further).