Holla
Ma se ho uno stream bello "grosso" (tipo 1 GB) e faccio una roba tipo:
(with-open [w (io/output-stream "file")]
(io/copy
(io/input-stream (:body @request))))
Lo stream viene copiato su disco blocco per blocco o prima lo tiene tutto in memoria e poi lo scrive?Buona domanda. Eā basato su Java NIO transferChannel https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html#transferTo(long,%20long,%20java.nio.channels.WritableByteChannel) e la risposta eā che in generale, un sistema operativo moderno non trasferisce nemmeno un buffer dei bytes in memoria
E quindi ora mi spiego pure la differenza nei tempi passando da Linux a Winzozz. Grazie mille @reborg
np, buono a sapersi
prima PR in carve https://github.com/borkdude/carve/pull/14
ancora un po' alpha diciamo ma fantastico, ho gia' cancellato un migliaio di righe in vari progetti