clojure-italy

šŸ‡®šŸ‡¹
alan 2020-02-04T09:07:15.043200Z

Holla

alan 2020-02-04T09:09:44.045200Z

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?

reborg 2020-02-04T11:00:56.047300Z

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

alan 2020-02-04T11:09:04.048100Z

E quindi ora mi spiego pure la differenza nei tempi passando da Linux a Winzozz. Grazie mille @reborg

reborg 2020-02-04T11:11:08.048500Z

np, buono a sapersi

2020-02-04T12:05:36.048800Z

prima PR in carve https://github.com/borkdude/carve/pull/14

2020-02-04T12:05:58.049500Z

ancora un po' alpha diciamo ma fantastico, ho gia' cancellato un migliaio di righe in vari progetti