Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

libevent vs boost::asio
http://gplvote.andyhost.ru/forum/viewtopic.php?f=21&t=203
Страница 1 из 4

Автор:  yurial [ 11 окт 2011, 13:40 ]
Заголовок сообщения:  libevent vs boost::asio

Посмотрел я на libevent, и на boost::asio. Теперь необходимо сделать выбор.
Предлагаю рассмотреть плюсы и минусы:
libevent:
+ маленькая, легкая библиотека.
+ на сайте библиотеки указаны benchmark тесты - впечатляюще.
- C
boost::asio:
- большая, громоздкая библиотека;
- время на изучение уйдет больше, если конечно Dim не подскажет;
+ С++, со всеми вытекающими прелестями.
= производительность?

Нужен ли нам объектно-ориентированный код?
Нужна ли нам высокая производительность?

Вообще меня привлекает идея изучить boost::asio.

Автор:  Андрей [ 11 окт 2011, 14:21 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Минус по поводу времени изучения мне кажется существенным.

Кроме того, то что libevent написан на C совсем не минус. Сделань над ним объектную оболочку, думаю, будет не сильно сложно.

Автор:  Андрей [ 11 окт 2011, 16:14 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Кстати, я не нашел нигде описания какие методы поддерживает boost:asio.

Вот нашел - http://alexott-ru.blogspot.com/2007/10/ ... io_29.html

Но вообще, складывается ощущение что библиотека вообще не документирована.

Вот манул на русском:
http://bravit.rsu.ru/distrib/Asio_tutor ... sic_skills

Автор:  yurial [ 11 окт 2011, 17:35 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Не могу найти механизм работы boost::asio в linux, в частности меня интересует, будет ли он использовать асинхронные вызовы или мультиплексирование.

Автор:  Андрей [ 12 окт 2011, 14:48 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Я вполне могу согласиться и на использование boost::asio. Но...

Я так думаю, что должны быть какие-то критерии для выбора того или иного инструмента. Мне главными кажутся следующие:
1. Документированность. В boost::asio я не нашел нормального руководства разработчика с описанием структуры, классов, методов и интерфейсов.
2. Использование его в живущих и хотя-бы относительно известных проектах. Что означает отлаженность библиотеки.

Пока по обеим этим пунктам у меня есть сомнения относительно boost::asio.

Автор:  yurial [ 12 окт 2011, 18:55 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Первая ссылка в гугле http://www.boost.org/doc/libs/1_47_0/do ... _asio.html
Или вас не устраивает?

Автор:  Андрей [ 12 окт 2011, 19:05 ]
Заголовок сообщения:  Re: libevent vs boost::asio

yurial писал(а):
Первая ссылка в гугле http://www.boost.org/doc/libs/1_47_0/do ... _asio.html
Или вас не устраивает?

Нашел уже после того как написал. Однако, вопрос о проектах, в которых оно используется, остается открытым.

Автор:  yurial [ 12 окт 2011, 19:13 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Взглянул на общую архитектуру asio. Понравилась идея асинхронных операций с уведомлением. Очень похоже на то, что реализовано через aio_read/aio_write.

Автор:  Андрей [ 12 окт 2011, 19:32 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Я не могу сказать что asio мне не нравится. Но кроме нравится/не нравится нужно еще и другие критерии рассматривать.

Автор:  Dim [ 12 окт 2011, 20:09 ]
Заголовок сообщения:  Re: libevent vs boost::asio

Андрей писал(а):
Нашел уже после того как написал.
И зачем было искать на стороне, когда есть на родном сайте библиотеки? :(

Андрей писал(а):
Однако, вопрос о проектах, в которых оно используется, остается открытым.
Там же на сайте есть раздел "Who using Boost" разбитый на три части: использование через другие библиотеки, использование в открытых проектах, закрытое использование.
Я, кстати, постил ссылку. http://www.boost.org/users/uses.html

Андрей писал(а):
Минус по поводу времени изучения мне кажется существенным.
Она не сложнее любой другой библиотеки. К тому же написана "как по учебникам".
yurial писал(а):
если конечно Dim не подскажет
Я собираюсь активно участвовать в написании. Хотя из Буста использовал concurent часть, но не думаю что как-то asio сделано проблемней.

По сути у Boost только один минус - монструозность. Нам в лучшем случае понадобится 10% из всей библиотеки. С другой стороны Boost охватывает практически весь спектр задач, кроме GUI.

Страница 1 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/