Производительность модуля date и варианты замены

Главные вкладки

Аватар пользователя Murz@drupal.org Murz@drupal.org 12 июля 2010 в 13:31

Мне требуется для ноды добавить CCK поле даты, чтобы пользователь мог удобно в календаре выбрать нужную дату, а не вводить руками.
Для этого нашёл только один подходящий модуль date.
Вроде бы всё хорошо, но меня очень пугает его объем! 2.1 мб в распакованном виде.
Ради одного поля с датой как-то не хочется идти на такие жертвы, а вариантов полегче пока не нашёл.

Конечно там много места занимают дополнительные файлы, модули, картинки, переводы, но всё же основной модуль тоже жрёт немало.
Поставил модуль, проверил расходы памяти:

До установки - 24.62 мб, после установки - 26.05 мб. Т.е. 1.5 мегабайта скушано и всё только ради одного календарика (включен только Date модуль.
В таблицу переводов он тоже нехило так добавляет: в po-файлы около 870 строк с msgid (считал по языку DE), а ведь select из этой таблицы постоянно делается и каждый новый перевод добавляет тормозов.

Отсюда у меня вопрос, оправданно ли использование этого модуля ради одного поля даты и можете ли предложить более легковесные варианты решения?

Комментарии

Аватар пользователя Murz@drupal.org Murz@drupal.org 12 июля 2010 в 13:49

C 4447 строками перевода в начальном варианте статьи я перестарался конечно, не учёл что кроме русского там ещё остальные языки, если взять только немецкий то всего 870, но всё-равно не мало Sad

Аватар пользователя kosilko kosilko 12 июля 2010 в 14:02

"<a href="mailto:Murz@drupal.org">Murz@drupal.org</a>" wrote:
каждый новый перевод добавляет тормозов

поверхностный анализ функции locale() говорит, что переводы кладутся в кэш и далее берутся оттуда. При этом хранятся там, я так понимаю, только затребованные строки, т.е., которые в процессе работы были вызваны через t(). А по поводу отказа от модуля date - смотрите сами, есть немало модулей которые разработчиками поставлены в зависимость от него. Сегодня вывернетесь, найдя замену чему-то незначительному, а завтра опять этот монстр постучится в вашу админку и востребует своей галочки Smile

Аватар пользователя Murz@drupal.org Murz@drupal.org 12 июля 2010 в 14:12

"kosilko" wrote:
поверхностный анализ функции locale() говорит, что переводы кладутся в кэш и далее берутся оттуда. При этом хранятся там, я так понимаю, только затребованные строки, т.е., которые в процессе работы были вызваны через t().

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

А по поводу отказа - как раз сайт планируется простенький, поэтому "завтра" навряд ли понадобится ещё что-то от этого модуля, поэтому и ищу более легковестную замену.

В целом надо просто модуль, который добавляет поле Date в CCK, всплывающий календарик к нему и впринципе всё.

Аватар пользователя Murz@drupal.org Murz@drupal.org 14 июля 2010 в 12:25

Ну вот как раз и ищу модуль который будет содержать только это поле и кусок жаваскрипта, а то я сам недавно пытался создать через api cck поле своё, но так и не осилил что-то, ничего не получилось и энтузиазм закончился ;(

Да и думаю не мне одному такой модуль требуется, так что шансы что кто-то уже написал это должны быть... осталось найти этого кого-то Wink