If the developers of that program want to squeeze the last 5% out of it
then sure, I'd expect them to use such OS-provided I/O scheduling
facilities. Database developers do that sort of thing all the time.
We have an application which knows what it's doing sending IO requests to
the kernel which must then try to reverse engineer what the application is
doing via this rather inappropriate communication channel.
Is that dumb, or what?
Given that the application already knows what it's doing, it's in a much
better position to issue the anticipatory IO requests than is the kernel.