⋁-параллелизм в Go

20.06.2016 23:09:14

Посмотрев на стандартную библиотеку C++, у меня появилась мысль попробовать решить ту же задачу средствами языка Го. У меня было время немного посмотреть на него, что-то понравилось, что-то так себе (это будет отдельной темой), было время прочитать ключевую работу тов. Хоара. Ну а чтобы лучше понять, как оно работает, неплохо бы попробовать что-нибудь сделать.
Читайте далее »

⋁-параллелизм в стандартной библиотеке C++

26.02.2016 13:45:57

Попался занятный случай необходимости реализации ⋁-параллелизма на C++. Так получилось, что до этого я вообще не работал с std::thread и сопутствующим, решил поглядеть, что к чему.
Читайте далее »

О качественных граблях: select()

02.09.2009 21:04:39

Написал я тут хороший (но очень секретный!) сервер со страшной многопоточностью и прицелом на большое число клиентов. И всё бы хорошо, да вот незадача — валится он странным образом при наваливании всё большего числа тех самых клиентов. Как оказалось, наткнулся я на достаточно известные (если знать что искать), но очень, очень качественные грабельки, так что грех не поделиться.
Читайте далее »

pbzip2

31.01.2009 22:56:35

Читая тов. Федорчука наткнулся на:

Правда, существует реализация механизма bzip2, оптимизированная для SMP-систем — Parallel BZIP2 (pbzip2), которая теоретически умеет это делать. В репозиториях Zenwalk’а её нет, собирать мне её было лениво, а по наблюдениям из FreeBSD — никакого выигрыша в скорости по сравнению с обычным bzip2 она не даёт, напротив, обеспечивая еле заметный, но всё-таки проигрыш.

Читайте далее »

Переносимость переносимости

23.05.2006 23:01:23

Интересно получается. Пишешь переносимое приложение. Пишешь для GNU/Linux на i386. Фактически, уже написал. Но поиспользовал пару «интересных» ioctl для последовательного порта, что для переносимости плохо. Ну, еще чуть-чуть pthreads. В ожидании хорошего геморроя перетаскиваешь все это на FreeBSD/amd64. Компилируешь из тех же исходников. И собирается на раз. Без каких-либо модификаций.

Что еще смешнее — на FreeBSD все работает без ошибок. На GNU/Linux появляется не очень пока что понятная (но явно мелочная) ошибка.

Круто.

P.S. Ошибка действительно идиотская была. Теперь все тип-топ с обеих сторон. Из совершенно идентичных исходников.