Hallo,
mir stellt sich die Frage, ob es ausreicht FileChannel.write(ByteBuffer) mit mehreren "kleinen" ByteBuffern aufzurufen, bspw. wenn sagen wir mal 500* FileChannel::write aufgerufen wird mit zwischen 500 und 55_000 Bytes im ByteBuffer und am Ende FileChannel::force aufzurufen. Wird das von den gängigen Betriebssystemen gecached und dann erst geschrieben oder sollte ich eher schauen, dass ich einen großen ByteBuffer akkumuliere und dann erst in den FileChannel schreibe? Letzteres ist irgendwie grade etwas tricky in meinem Fall, aber würde es hoffentlich schon hinbekommen. Es geht hier auch Code, der richtig performant sein sollte...
Beste Grüße
Johannes
mir stellt sich die Frage, ob es ausreicht FileChannel.write(ByteBuffer) mit mehreren "kleinen" ByteBuffern aufzurufen, bspw. wenn sagen wir mal 500* FileChannel::write aufgerufen wird mit zwischen 500 und 55_000 Bytes im ByteBuffer und am Ende FileChannel::force aufzurufen. Wird das von den gängigen Betriebssystemen gecached und dann erst geschrieben oder sollte ich eher schauen, dass ich einen großen ByteBuffer akkumuliere und dann erst in den FileChannel schreibe? Letzteres ist irgendwie grade etwas tricky in meinem Fall, aber würde es hoffentlich schon hinbekommen. Es geht hier auch Code, der richtig performant sein sollte...
Beste Grüße
Johannes