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.

Reply via email to