ruby, требующий active_record, замедляет запуск скрипта до 30 секунд - PullRequest
1 голос
/ 14 марта 2012

Я написал скрипт для использования active_record без рельсов. Мои тесты проводятся на Windows 7 (включена защита от вирусов Trendmicro - отключить ее нельзя, поскольку ноутбук принадлежит моей компании), Lenovo T520. Я написал небольшой скрипт, который начался примерно через секунду. Я добавил гем sqlite3, и он запустился через 2 секунды.

После запроса времени запуска драгоценного камня 'active_record' до 30 секунд !!

Могу ли я что-то сделать против этого (пожалуйста, не рекомендуйте менять ОС)? Ruby только для использования с рельсами, чтобы он мог работать на Unix Box, где производительность в порядке?

Версии: ruby 1.9.3p125 (2012-02-16) [i386-mingw32] activerecord (3.2.2)

Редактировать: Произошло что-то интересное. После запуска сценария несколько раз «требуется active_record» выполняется за 0,53 секунды. Может быть, это кеширование или защита от вирусов игнорирует файлы, потому что считает их безопасными. После новой перезагрузки время увеличилось до 3,5 секунд при первом запуске и снова уменьшилось во втором запуске до известных 0,53 секунд.

1 Ответ

0 голосов
/ 16 марта 2012

У меня есть какое-то приемлемое решение.Это зависит от порядка, в котором требуются модули:

Запуск 30 секунд: требуется 'tk' требует 'active_record'

Запуск 2 секунды: требуется 'active_record' требуется 'tk'

ИМХО на эту вещь ответили (но я не очень доволен).

...