Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Why not using lazy streaming?

Boost , Chapter 1. Boost.Log v2 , Rationale and FAQ

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Одной из возможных реализаций библиотеки было бы использование ленивых выражений для задержки форматирования записи журнала. По сути, выражение:

logger << "Hello, world!";

это будет лямбда-выражение, которое используется только в том случае, если фильтрация будет успешной. Хотя этот подход имеет преимущества, следует отметить, что ленивая конструкция выражения не является нулевой стоимостью с точки зрения производительности, размера кода и времени компиляции. Следующее выражение:

logger << "Received packet from " << ip << " of " << packet.size() << " bytes";

он будет генерировать значительное количество кода (пропорционально количеству потоковых операторов), который будет выполняться до фильтрации. Другим недостатком является то, что всегда называется пакет.size(), независимо от того, записана ли запись в журнал. Для того, чтобы отложить этот вызов, необходимо еще больше строительных лесов, возможно, с участием Boost.Bind, Boost.Lambda или Boost.Phoenix. Это осложнение неприемлемо для такого базового варианта использования, как этот.

Хотя ленивая потоковая передача не обеспечивается библиотекой из коробки, ничто не мешает развивать ее в отдельной иерархии лесорубов. См. раздел Расширение библиотеки для получения дополнительной информации.


PrevUpHomeNext

Статья Why not using lazy streaming? раздела Chapter 1. Boost.Log v2 Rationale and FAQ может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Rationale and FAQ ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:40:15/0.025527954101562/1