Thanks for your complementary answers. I guess NVMe disks could make my actual design efficient.
But in actual configuration, I suppose so, the best design would be something like : [Reading routine x 1] -----Channel----> [Process routine x N] Le dimanche 16 septembre 2018 14:45:25 UTC+2, Sameer Ajmani a écrit : > > Yes, Go can do concurrent file I/O. You might try using the execution > tracer to see whether you're getting the parallelism you expect. There's a > tutorial here: > https://blog.gopheracademy.com/advent-2017/go-execution-tracer/ > > You might also check out my blog post on constructing parallel goroutine > pipelines; the Digesting a Tree section discusses parallel file I/O: > http://blog.golang.org/pipelines > > S > > On Sun, Sep 16, 2018 at 8:08 AM Thomas Solignac <solig...@gmail.com > <javascript:>> wrote: > >> Hello, >> >> I have a loading step, where I have something like 60 files to read and >> process, as fast as possible. >> I tried loading with goroutines and without, and I get substantially the >> same process time (38s). >> >> *What is the more idiomatic ? Is Golang designed for concurrent files I/O >> ?* >> >> Note : One file per goroutine (not multiple concurents I/O on the same >> file) >> >> Thanks for reading :-) >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.