|
|
Good question, Bjorn.
Three main differences from iostreams from Asio:
- formatting happens on the background thread which saves most of the latency (for formatted output),
- it will never make a kernel call on the calling thread except some extreme contention (which saves latency again),
- streams don't have to be associated with sockets.
Regards,
Gene
|
|
But most importantly, formatting doesn't happen on the calling thread -- it happens on the background instead.
|
|
On 10/05/2013 03:50 PM, Gene Panov wrote:
> But most importantly, formatting doesn't happen on the calling thread -- it
> happens on the background instead.
Thank you for the explanation.
Is there any way to use a Boost.Asio thread as the background thread?
In other words, is it possible to write a async_ostream::service
implementation that wraps a Boost.Asio io_service? My initial impression
is that it is possible, but I am not sufficiently familiar with your
codebase to be certain.
On another note, you may consider using Boost.Chrono for time durations.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|
Bjorn, that's a good idea. I'll look into this now. I'm sure it's possible to use that thread in some way, but I want to make sure it's possible to do it efficiently.
On Oct 8, 2013 5:27 AM, "Bjorn Reese [via Boost]" < [hidden email]> wrote:
On 10/05/2013 03:50 PM, Gene Panov wrote:
> But most importantly, formatting doesn't happen on the calling thread -- it
> happens on the background instead.
Thank you for the explanation.
Is there any way to use a Boost.Asio thread as the background thread?
In other words, is it possible to write a async_ostream::service
implementation that wraps a Boost.Asio io_service? My initial impression
is that it is possible, but I am not sufficiently familiar with your
codebase to be certain.
On another note, you may consider using Boost.Chrono for time durations.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
To unsubscribe from Code to address requirement 7(a) of IOStreams Roadmap, click here.
NAML
|
|
Bjorn, it worked. Thank you! https://code.google.com/p/async-ostream/I implemented it so that is runs on the Asio background thread efficiently -- I don't see any loss of speed in the numbers. Again, thanks for your feedback!
Colleagues: does it now satisfy the requirements of 7(a) in IOStreams Roadmap
?
|
|
On 10/15/2013 02:32 AM, Gene Panov wrote:
> Bjorn, it worked. Thank you!
> https://code.google.com/p/async-ostream/> I implemented it so that is runs on the Asio background thread efficiently
> -- I don't see any loss of speed in the numbers. Again, thanks for your
> feedback!
Excellent. I would definitely like to see this become part of
Boost.Iostreams.
> Colleagues: does it now satisfy the requirements of 7(a) in IOStreams
> Roadmap
> https://svn.boost.org/trac/boost/wiki/IostreamsRoadmapThe author of Boost.Iostreams has become inactive, which is why your
previous inquiries have not been answered. Minor patches can be handled
by others, but the async-ostream are probably so large that it requires
that a new maintainer takes over Boost.Iostreams.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|
Daniel and Bjorn, thank you for the feedback!
Do you think you can try me as a maintainer in this case? And if you don't like me, I'll try to find someone else.
On Oct 15, 2013 11:30 AM, "Bjorn Reese [via Boost]" < [hidden email]> wrote:
On 10/15/2013 02:32 AM, Gene Panov wrote:
> Bjorn, it worked. Thank you!
> https://code.google.com/p/async-ostream/ > I implemented it so that is runs on the Asio background thread efficiently
> -- I don't see any loss of speed in the numbers. Again, thanks for your
> feedback!
Excellent. I would definitely like to see this become part of
Boost.Iostreams.
> Colleagues: does it now satisfy the requirements of 7(a) in IOStreams
> Roadmap
> https://svn.boost.org/trac/boost/wiki/IostreamsRoadmap
The author of Boost.Iostreams has become inactive, which is why your
previous inquiries have not been answered. Minor patches can be handled
by others, but the async-ostream are probably so large that it requires
that a new maintainer takes over Boost.Iostreams.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
To unsubscribe from Code to address requirement 7(a) of IOStreams Roadmap, click here.
NAML
|
|
On 15 October 2013 10:54, Gene Panov < [hidden email]> wrote:
> Daniel and Bjorn, thank you for the feedback!
> Do you think you can try me as a maintainer in this case? And if you don't
> like me, I'll try to find someone else.
It would be good to have an iostreams maintainer. Although you might
need to have an informal review before any significant changes. It's
also a bit of an awkward time to start as it looks like we're about to
transition to git. Maybe try posting a new thread (with a subject like
'[iostreams] new maintainer') to get feedback from other users? There
might be people interested in iostreams who aren't reading this.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|
On 10/17/2013 12:31 PM, Daniel James wrote:
> It would be good to have an iostreams maintainer. Although you might
FYI, I have contacted Jonathan Turkanis, and he is planning to become
active again.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|
Hi,
Sorry for the month-long delay.
I'm taking a look at Gene's code tonight.
On Thursday, October 17, 2013 6:12:04 AM UTC-6, Bjorn Reese wrote:
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|
Jonathan, in the trunk you will also see asynchronous input taken care of (not just output).
That's not yet documented online though.
On Nov 25, 2013 3:13 AM, "Jonathan Turkanis-2 [via Boost]" < [hidden email]> wrote:
Hi,
Sorry for the month-long delay.
I'm taking a look at Gene's code tonight.
On Thursday, October 17, 2013 6:12:04 AM UTC-6, Bjorn Reese wrote:
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
To unsubscribe from Code to address requirement 7(a) of IOStreams Roadmap, click here.
NAML
|
|
On 11/24/2013 9:11 PM, Jonathan Turkanis wrote:
> Hi,
>
> Sorry for the month-long delay.
>
> I'm taking a look at Gene's code tonight.
>
> On Thursday, October 17, 2013 6:12:04 AM UTC-6, Bjorn Reese wrote:
>>
>> On 10/17/2013 12:31 PM, Daniel James wrote:
>>
>>> It would be good to have an iostreams maintainer. Although you might
>>
>> FYI, I have contacted Jonathan Turkanis, and he is planning to become
>> active again.
Welcome Back!
Jeff
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|