Hello! On Monday 16 March 2009 20:48:44 Покотиленко Костик wrote: > > Про потребляемую память забываем. > > И яркий пример тому тот же spamassassin. Он одновременно может только 5 > потоков обрабатывать, как написано в документации, "unless you know what > you're doing".
А что, все программы на С умеют работать с тысячами потоков? Интереснее работа с событиями в тикле, к примеру, когда не требуется плодить тучу потоков, чтоб одновременно снимать данные, скажем, с десятка цисок. > Вы правы, когда говорите, что > - нет смысла экономить килобайты и мегабайты памяти, когда речь идёт о > ПО работающем с единственном экземпляре, т.к. память дешёвая; > - нет смысла оптимизировать тысячи и сотни тысяч MIPS'ов в процедуре, > которая выполняется раз в относительно большой период времени, т.к. Вы > сэкономите не больше секунды. И в чем заключается "экономия"? Например, работа со строками на С без использования специальных библиотек значительно менее эффективна, чем в скриптовых языках. Попробуйте написать программу на С, которая по обработке регекспов обгонит перловый скрипт. Ну, возьмем другой пример - сжатие/распаковка данных. Лично я предпочитаю делать расширения к SQLite, чтобы можно было пользоваться как из тикля, так и из шелла, в данном случае используем системную zlib, в итоге получаем: $ cat compress.c |wc -l 120 И это с комментариями и инструкциями по сборке! И в моем полном распоряжении эффективный инструмент, доступный как из программы, так и в консоли. Плюс SQLiteMan, написанный С++, и некоторые другие проекты пользуются этим и другими модулями, при том, что я при написании кода могу совершенно не беспокоиться, на чем будет сделано клиентское приложение. Вот это и есть эффективность (оптимизируем именно то, что нуждается в оптимизации) плюс повторное использование кода. Ваши же десятки и сотни килобайт кода, который годится только для одного вашего проекта, никто и читать не станет, проще заново написать. Best regards.

