Запуск:
bit_counter_processor "имя файла с данными"
Результат выводится в консоль в текстовом виде.
По результатам профилирования можно сделать вывод что из-за разницы в быстродействии процессов считывания из файла (медленный) и процессов подсчета бит в горотине (быстрый) данная архитектура приложения довольно неэффективна. Получается что время, затраченное на операцию с файлом выше чем время, затраченное на расчет количества бит. Т.е. обработка данных идет существенно быстрее чем их поступление.
Кроме того, в таком варианте получается что накладные расходы на функцианирование горотин и каналов сравнимы с "полезной нагрузкой" или даже превышают ее. Возможный вариант оптимизации - отправлять в канал не по одному значению для вычисления, а массивы значений.