Не подвергая сомнению Вашу точку зрения в целом, я хотел бы просто любопытства ради прояснить один момент.
Secundo: memcached как решение стоит 150 долларов (просто ставим в уже работающую машину дополнительный гигабайт оперативки) и порядка двух часов на всю процедуру внедрения — сборка, запуск, начали работать.
Адаптация существующих приложений (см. "Porting the Application"), очевидно, займёт несколько более двух часов. Вы не включаете адаптацию в понятие "внедрение" или я чего-то не понимаю?
Вот лично для меня это глубоко неочевидно. Я специально посмотрел еще вчера все места в коде ЖЖ, где встречается обращение к memcache. Таковых мест наскреблось с два десятка в девяти файлах. Всей работы, при условии понимания механизма, как раз на искомые два часа.
Но оно всё использует библиотеку client-side на Перле, написание и отладка которой потребовала больше двух часов (хоть и не на порядок). Впрочем, та же библиотека может быть использована для других проектов на Перле, конечно.
Две библиотеки, от которых зависит memcached -- libevent и Judy. Judy должна по идее построиться под mingw32 без проблем, а вот насчёт libevent не уверен. В принципе ничего не мешает ей бежать под mingw32 и использовать стандартный поллинг на основе poll() (мы обычно компилириуем и запускаем memcached на машинах, к-е поддерживают более эффективный epoll() ), но сама компиляция может потребовать каких-то исправлений на уровне Makefile. А может и не потребовать.
В самом memcached единственное, что я могу представить в качестве проблемы - это вызов daemon() при запуске с ключом -d; его может не быть в mingw32, но его можно просто убрать или переписать с помощью fork().
В общем, я бы сказал, минут на 20 работы проверить, собирается ли сразу, и на час-два работы поправить, если собирается не сразу. Но следует учитывать, что: 1) poll() под Win32 наверняка будет не очень эффективным при большом количестве подключений (больше 300, скажем); 2) если под Win32 у mingw32 особенно тупой malloc(), то это может сказаться на перформансе.
Re: Можно вопрос?
Date: 2003-06-16 03:36 am (UTC)Не подвергая сомнению Вашу точку зрения в целом, я хотел бы просто любопытства ради прояснить один момент.
Secundo: memcached как решение стоит 150 долларов (просто ставим в уже работающую машину дополнительный гигабайт оперативки) и порядка двух часов на всю процедуру внедрения — сборка, запуск, начали работать.
Адаптация существующих приложений (см. "Porting the Application"), очевидно, займёт несколько более двух часов. Вы не включаете адаптацию в понятие "внедрение" или я чего-то не понимаю?
Re: Можно вопрос?
Date: 2003-06-16 03:59 am (UTC)Вот лично для меня это глубоко неочевидно. Я специально посмотрел еще вчера все места в коде ЖЖ, где встречается обращение к memcache. Таковых мест наскреблось с два десятка в девяти файлах. Всей работы, при условии понимания механизма, как раз на искомые два часа.
Re: Можно вопрос?
Date: 2003-06-16 04:01 am (UTC)Re: Можно вопрос?
Date: 2003-06-16 04:08 am (UTC)Кстати, Анатолий, а каковы шансы у вашего демона быть успешно собранным под CygWin с mingw32?
Re: Можно вопрос?
Date: 2003-06-16 04:17 am (UTC)В самом memcached единственное, что я могу представить в качестве проблемы - это вызов daemon() при запуске с ключом -d; его может не быть в mingw32, но его можно просто убрать или переписать с помощью fork().
В общем, я бы сказал, минут на 20 работы проверить, собирается ли сразу, и на час-два работы поправить, если собирается не сразу. Но следует учитывать, что: 1) poll() под Win32 наверняка будет не очень эффективным при большом количестве подключений (больше 300, скажем); 2) если под Win32 у mingw32 особенно тупой malloc(), то это может сказаться на перформансе.
Мечтательно
Date: 2003-06-16 04:32 am (UTC)