Я создаю синтаксический анализатор Excel для своей группы данных, и у меня возникла проблема с гемом Spreadsheet 0.6.5.1.
В Ruby 1.9.2 использование метода Spreadsheet.open немедленно перебирает до 700-1,3 г памяти и там висит бесконечно даже на небольших (1 лист, 300 строк) книгах. Между тем, в Ruby 1.8.7 Spreadsheet.open работает быстро и безупречно.
Сейчас я делаю большую часть своей работы в irb, так что я могу контролировать среду, которую я использую, только для базовых элементов (гем rubygems / электронных таблиц), но мне нужно в конечном итоге переместить этот анализатор в Rails 3 проекта, поэтому согласиться с 1.8.7 не вариант.
Нет документации по этому вопросу или даже доказательств того, что другие люди сталкивались с этой проблемой. Всякий раз, когда я прерываю вызов Spreadsheet.open, я получаю сообщение об ошибке каждый раз:
gems / spreadsheet-0.6.5.1 / lib / spreadsheet / worksheet.rb: 181: in 'call'
Я бы хотел, чтобы обезьяна не исправляла это, или не ныряла прямо в камень, чтобы взломать разрешение. Кто-нибудь еще испытывал эту проблему? Или что-нибудь подобное?