Есть немаленький файлик, порядка 80 тысяч строк и что-то около 50 столбцов.
Изначально был сгенерен сторонней программой в текстовом виде (*.csv). Размер около 17 мегабайт.
Открывается минуты две. Попытка выделить и удалить столбец может длиться минут пять. Сохранение занимает минут 10-15!!!
И вот вопрос: куда копать? Настройки памяти в Либре попробовал поменять, виртуальную машину джаву отключил. Что еще можно в либре изменить, чтобы так не тормозила?
Система Кубунта 14.04.
PhenomII и 16 Гб оперативки.
можно попробовать версию поновее:
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
а по хорошему ваш баг-репорт ой бы как помог разработчикам.
А у вас не возникало мысли, что так и должно быть с таким файдом? Не имея его на руках, трудно давать хоть какие-то рекомендации. Может просто изменить формат сохранения на родной *.odf? Или сравнить приведенные временные диапазоны в другой сторонней программе?
А почему именно Calc? Полноценная БД была бы более уместна, для работы с такими объёмами.
Для ускорения работы преобразовывал его в .ods , но это ничего особо не меняет.
Calc по простой причине. Этот файл - лог записи датчиков за день, сгенерил я его сам из нескольких логов устройств. Просто нужно было глазками посмотреть и удалить некоторые строки (когда машина стояла, данные, идущие в лог для анализа не нужны).
Думал, что будет проще это сделать в Calc, чем писать самому обработчик. Вижу, что быстрее будет написать.
У меня этот же файл загружается в таблицу, все данные хранятся в текстовом виде, я это все преобразовываю в числа, фильтрую, строю графики. И на все про все не больше минуты. А Calc меня разочаровал тем, что просто отредактировать таблицу больших размеров в нем не реально.
Дык сам и обрабатывай, скриптом, будет быстрее.
80 тысяч строк обработать скриптом в консоли вообще не проблема, ну если какие-нибудь вложенные циклы не делать.
Есть несколько вариантов, скрипт на баше, питоне или том же php.
Я в теме php, по этому, я бы вместо csv, сгенерировал xml файл, а потом этот xml файл обработал бы в три-пять строк на simplexml.
Да я сам и обрабатываю. Я же написал, что хотел просто открыть и глазками выбрать ненужные строки. Скриптом
не получитсясложно определить, какие строки лишние, слишком много косвенных данных.Вобщем, суть понятна - для больших файлов Calc не подходит. А со своим файликом я уж разберусь.
Всем спасибо.
Ну, 80к записей просмотреть глазами тоже удовольствие ещё то, проще разработать алгоритм автоматического разбора.
А если работу надо будет повторить с другими данными?
Это уже диалектика. Сейчас так много данных, потому что собраны с разных источников, дублирующих друг-друга. Другие данные будут собираться уже после того, как станет понятно, какие датчики нужны, а какие нет.
А по поводу "глазами 80к" все просто. Есть журнал наблюдений. Согласно этому журналу, работы шли в XX часов, ХХ минут. В другой интервал времени машина стояла. Можно просто скриптом вырезать те строки, когда машина стояла (так и сделал), но было желание убедиться глазами, что путевой отметчик в эти временные интервалы стоит на месте.
Можно отправить разработчикам ссылки на видеокурсы по алгоритмам и структурам данных =)
Отправить комментарий