четверг, 13 августа 2015 г.

[prog.c++] Еще живой пример влияния эволюции C++ на размер кода

Уже неоднократно говорил, что C++11 -- это совсем другой язык, нежели C++98/03. Если же появляется возможность использовать C++14, то это еще более другой язык. Под катом свежий пример.

среда, 12 августа 2015 г.

[prog.c++11] Описание агентов в SObjectizer: старый подход против нового (модного и молодежного)...

Год назад, когда в версии 5.3.0 появились ad-hoc агенты (агенты, для которых не нужно было описывать отдельный C++ класс), область применения таких агентов казалась очень узкой. Поэтому и функциональность, доступная в ad-hoc агентах, была меньше, чем в обычных, полноценных агентах. По-началу даже не было возможности получить доступ к direct_mbox-у ad-hoc агента.

Но время идет, накапливается собственный опыт, анализируется то, что есть в других фреймворках. И ad-hoc агенты по своей функциональности постепенно догоняют полноценных агентов. А по удобству, наверное, где-то уже и сильно их превосходят. Под катом небольшой пример. Слева т.н. полноценный агент, написанный в классическом стиле. Справа -- это полный аналог, но оформленный в виде ad-hoc агента.

[prog.c++11.sobjectizer] Нужна помощь в поиске названия для трех новых диспетчеров

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

Изначально предполагалось, что в очередной версии SO-5 будет всего один диспетчер с поддержкой приоритетов, который будет запускать все события на одной рабочей нити. Отсюда и появилось название prio::common_thread.

Но теперь дело идет к тому, что будет целых три диспетчера с поддержкой приоритетов агентов:

  • одна рабочая нить, низкие приоритеты блокируются высокими приоритетами (это то, что сейчас делает prio::common_thread);
  • одна рабочая нить, у каждого приоритета своя квота;
  • по одной рабочей нити на каждый приоритет.

Все эти диспетчеры будут внутри пространства имен so_5::disp::prio.

Но вот хорошие имена для них никак не придумываются. В голове крутится что-то вроде one_thread_vip_first (blocked, women_and_child_first, highest_first), one_thread_quoted (round_robin, proportional), thread_per_prio (separate_threads, dedicated_threads)...

Может кто-нибудь из читателей поможет? Или подтолкнет в каком-то направлении?

воскресенье, 9 августа 2015 г.

[life.photo] Несколько видеороликов на тему street photo

В поисках обзоров компактных видеокамер наткнулся на YouTube на несколько роликов, очень, на мой взгляд, полезных пытающихся приобщиться к жанру street photo любителей. По моему глубокому убеждению, в 99% случаев уличная фотография -- это убогие попытки преобразовать количество в качество. А размещенные под катом ролики как раз таки и показывают, чем удачный street photo отличается от неудачного.