akka/akka-core

Use AsynchronousFileChannel for FileSource

Open

#30,031 opened on Feb 14, 2021

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Scala (13,277 stars) (3,547 forks)batch import
1 - triagedhelp wantednice-to-have (low-prio)t:stream

Description

I was a bit surprised reading the Streaming File IO docs to read

Please note that these operators are backed by Actors and by default are configured to run on a pre-configured threadpool-backed dispatcher dedicated for File IO. This is very important as it isolates the blocking file IO operations from the rest of the ActorSystem allowing each dispatcher to be utilised in the most efficient way.

Looking around I found that AsyncFileChannel was implemented differently on different Operating Systems. So on Windows apparently it does use underlying asynchronous IO.

It would be interesting to find out on which other platforms this makes a difference.

Contributor guide