>
> Julia IO is mostly built on libuv, but file IO uses the internal ios
> library that is part of flisp.


(I guess file IO is kind of important so replace "mostly" with "partly"...)

To clarify: operations on the `IOStream` type use the "ios" library.
Operations on `LibuvStream` (and its subtypes) use Libuv.





On Thu, May 19, 2016 at 6:36 PM, Isaiah Norton <[email protected]>
wrote:

> I don't think this happens for normal file IO.
>
>
> Right, good point. The stuff in the thread linked by Andrei applies to
> Libuv streams only.
>
> I think that Julia IO is built on libuv
>>
>
> Julia IO is mostly built on libuv, but file IO uses the internal ios
> library that is part of flisp.
>
> On Thu, May 19, 2016 at 5:43 PM, Yichao Yu <[email protected]> wrote:
>
>> On Thu, May 19, 2016 at 5:24 PM, Andrei Zh <[email protected]>
>> wrote:
>> > Based on answers to my own question, I believe it's safe to assume that
>> > `read()` on file will switch to another task during IO operation.
>>
>> I don't think this happens for normal file IO.
>>
>> >
>> >
>> >
>> > On Tuesday, May 17, 2016 at 2:03:21 AM UTC+3, ggggg wrote:
>> >>
>> >> Hello All,
>> >>
>> >> I think that Julia IO is built on libuv, and that libuv offers
>> >> asynchronous IO to the filesystem. Is this exposed through the Julia
>> API? I
>> >> can't figure it out from the documentation. I did a simple test
>> >>
>> >> julia> tic(); t = @async read(open("filename"),UInt8,2500000000);
>> yield();
>> >> toc()
>> >>
>> >> elapsed time: 9.094271773 seconds
>> >>
>> >> and it seems that reading blocks without yielding.
>> >>
>> >> Is there a way to do this where the reading task yields to other
>> processes
>> >> while it is getting the data from disk?
>> >>
>> >>
>> >>
>> >
>>
>
>

Reply via email to