Большие файлы ресурсов медленно работают

Обо всём по программе

Большие файлы ресурсов медленно работают

Postby Gloggy » Thu May 28, 2009 6:20 am

Есть вот словарик, в котором под 200.000 всяких звуковых файлов и картинок к словарю.

При свеже-загруженном GD попытка набрать слово для поиска или показать первую карточку приводит к тормозам секунд на 40-50, видимо читается этот огромный файл с тысячами звуков. Причем, происходит это каждый раз, после перезагрузки GD. Может быть, есть смысл как-то пре-индексировать содержимое больших zip файлов, как со словарями сейчас происходит, чтобы каждый столь долгоиграющее действие не повторять, если это вообще технически возможно....
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Большие файлы ресурсов медленно работают

Postby ikm » Thu May 28, 2009 10:46 am

В это время читается central directory zip-архива. Вообще-то то, что он читается 50 секунд, звучит странно. У меня архив с где-то ~70тыс читается 5 секунд максимум. Технически придумать как это обойти сложно, потому что всё это делает библиотека libzip -- она производит данное действие при открытии zip-файла. То есть, тут уже надо править саму библиотеку. Или же понять, почему на то чтобы прочитать 200тыс файлов требуется 50 сек.

Из простого что можно сделать - открывать zip-архив отдельно ото всего остального. Тогда поиск будет работать сразу, но картинкок или звука все равно придется дожидаться.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Большие файлы ресурсов медленно работают

Postby Gloggy » Thu May 28, 2009 12:02 pm

Понял. У меня на самом деле где-то около 5 словарей с огромным количеством всяких звуков, а не один, поэтому и подтормаживает так. Наверное, если бы просто подгрузку ресурсов сделать отдельно, это решило бы большую часть проблемы. То бишь, со звуками вообще никаких проблем у пользователя - карточка открывается сразу, а на звук нажал, и если звуки еще не готовы, ждем. А вот как с картинками быть - они же прямо в тело карточек встраиваются - не знаю.
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Большие файлы ресурсов медленно работают

Postby ikm » Thu May 28, 2009 12:27 pm

Попробуй последнюю ревизию. Возможно, минимизация количества вызовов realloc скажется на скорости чтения оглавлений zip-архивов позитивно.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Большие файлы ресурсов медленно работают

Postby Gloggy » Thu May 28, 2009 3:17 pm

ОФИГЕННО! Вместо 50 секунд теперь меньше 5!!!! ;)
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Большие файлы ресурсов медленно работают

Postby ikm » Thu May 28, 2009 3:37 pm

Значит, в windows очень медленный realloc. В linux изменение практически ни на что не повлияло (хотя количество вызовов этой функции сократилось с сотен тысяч раз до примерно пяти раз). Короче, поздравляю :)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am


Return to Общий

Who is online

Users browsing this forum: No registered users and 11 guests