Hi Stefan, Ok, let me briefly summarize the background of my problem. I've run into some inconsistency in write times between c/c++ and julia version of my toy test. The difference is only apparent when I'm saving a file to a network drive. The timings for the local write on the other hand for c++ and julia version are more or less the same. I don't have numbers in front of me but recall the network write of a ~100MB file was 3-5 times slower (need to verify that again today) I'm total noob in the network field, but could it be a network issue? If so I don't get why c++ performance does not drop as well? Is there some sort of caching coming into play....? Since I am using fwrite() function in C++ version of my test I though it would be fair to see how this performs in Julia. But then I run into problems with ccall... :)
In the end of the day this is not such a big deal for me and I don't want to take up too much of your time, since the network setup I'm in will be difficult/impossible to reproduce. But if anyone is interested to see if the performance is more consistent on his end I will post two versions later on today. Thank you, kuba On Friday, February 20, 2015 at 9:32:23 AM UTC-8, Stefan Karpinski wrote: > > Also, why are you trying to do your own I/O instead of just using Julia's > built-in I/O functionality? There's not a lot of situations where you need > to do that. > > On Fri, Feb 20, 2015 at 12:30 PM, Stefan Karpinski <[email protected] > <javascript:>> wrote: > >> On Fri, Feb 20, 2015 at 3:04 AM, Kuba Roth <[email protected] >> <javascript:>> wrote: >> >>> Ah indeed I got a crash. Thanks for clarification. I've been following >>> ccall examples in iostream.jl. Now it makes sense why the ios_write >>> function is used there. >>> I was wondering does Julia's stream related C functions (ios_write/read) >>> have any overhead over their standard C counterparts? >>> >> >> Certainly not compared to actually doing I/O. It's an alternative to >> fwrite which can be as fast or faster – both ultimately make system calls >> that actually send data to the kernel. It's pretty common for C libraries >> to have their own alternatives to fwrite, which are kind of limited and >> basic. >> > >
