New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

DictUI - интерфейс для DictZip

Всё по словарям

Re: DictUI - интерфейс для DictZip

Postby quicktrick » Fri Mar 30, 2012 2:09 pm

Abs62 wrote:Но кому интересно, можно взять на пробу порт dictzip из 1.12.0


С большими dsl не хочет работать. С небольшими работает. Пробовал сжать dsl размером 2,3GB -- программа вылетает с сообщением типа "не могу зарезервировать 4 (с чем-то) GB памяти" (на моём компьютере 2GB). Однако dictzip 1.9.7 этот dsl сжимает нормально. Так что старый dictzip не удаляйте.
quicktrick
 
Posts: 37
Joined: Thu Jul 01, 2010 2:38 pm

Re: DictUI - интерфейс для DictZip

Postby Abs62 » Fri Jun 29, 2012 9:04 pm

С большими dsl не хочет работать.

Немного допилил. Вылетать не будет, будет завершаться штатно, матерясь на слишком большой файл.
Лежит здесь.
Однако dictzip 1.9.7 этот dsl сжимает нормально.

Всё равно такие файлы потом не читают ни GD, ни сам dictzip.
Abs62
 
Posts: 627
Joined: Mon Jun 14, 2010 11:51 am

Re: DictUI - интерфейс для DictZip

Postby ikm » Sun Jul 01, 2012 1:59 pm

Там в самом формате заложено ограничение где-то в районе 2 гиг - таблица размеров блоков может иметь максимальный размер в 64k.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: DictUI - интерфейс для DictZip

Postby Tvangeste » Wed May 08, 2013 9:46 pm

Abs62 wrote:Немного допилил. Вылетать не будет, будет завершаться штатно, матерясь на слишком большой файл.

Кстати, может быть имеет смысл выложить эту спортированную версию dictzip'a куда-нибудь на гитхаб, даже и в отдельный репозиторий, а то мучительно иметь cygwin'ообразную старинную версию, которую и собрать-то под винды без плясок не так просто.

P.S. Да и DictUI было бы неплохо нормально заопенсорсить, если авторы еще не окончательно потерялись...
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

Re: DictUI - интерфейс для DictZip

Postby Tvangeste » Mon Aug 19, 2013 10:59 am

Abs62 wrote:
С большими dsl не хочет работать.

Немного допилил. Вылетать не будет, будет завершаться штатно, матерясь на слишком большой файл.

Abs62, a можно эту правочку в виде исходников где взять? Хотелось бы залить апдейт с этим фиксом вот сюда, раз уж репозиторий создан: https://github.com/Tvangeste/dictzip-win32
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

Re: DictUI - интерфейс для DictZip

Postby Abs62 » Thu Aug 29, 2013 7:35 pm

Tvangeste wrote:Abs62, a можно эту правочку в виде исходников где взять?

Да я просто добавил в dict_data_zip() после вычисления extraLength:
Code: Select all
   if( extraLength > 0xFFFF ) {
      fprintf( stderr,"\nFile too long: %u chunks needed, 32762 allowed\n",chunks );
      fclose( inStr );
      fclose( outStr );
      unlink( outFilename );
      return -1;
   }

Допилить по вкусу. :)
Abs62
 
Posts: 627
Joined: Mon Jun 14, 2010 11:51 am

Re: DictUI - интерфейс для DictZip

Postby Tvangeste » Tue Sep 10, 2013 5:11 pm

Abs62 wrote:
Tvangeste wrote:Abs62, a можно эту правочку в виде исходников где взять?

Да я просто добавил в dict_data_zip() после вычисления extraLength...
Допилить по вкусу. :)

Спасибо, подправил, раз уж выдалась свободная минутка! :)

http://is.gd/VA6ool
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

Re: DictUI - интерфейс для DictZip

Postby ccaid » Fri Feb 21, 2014 2:06 pm

есть такой проект: Idzip (Improved Dictzip)
автор нашел способ убрать ограничение 1.8 ГБ, пользуясь стандартной фишкой gzip. получаемые файлы распаковываются обычными gzip распаковщиками (я пробовал gzip и 7-zip), хотя правильный, полный листинг таких файлов не показывает никто. разумеется, для использования таких файлов GD потребует доработки.

и тут возникает вопрос — что может дать это решение? опытным путем на примере DSL-словаря я выяснил, что в GD есть собственное внутреннее ограничение в 2 ГБ. (почему оно вообще есть? и если уж есть, то почему 2, а не 4?) если это ограничение не будет убрано, и если оно действует на несжатый размер упакованного файла, то выигрыш от Idzip составит +0.2 ГБ. такая игра не стоит свеч.

другой вопрос — актуальность. на десктопе я не вижу применения этой технологии. самые большие словари — это оффлайн-википедии — представлены в форматах aard и zim, и оба формата десктопный GD понимает. а вот в мобильном GD поддержка aard до сих пор никак не вводится, и для оффлайн-википедий приходится использовать формат stardict, а там ограничение dictzip в 1.8 ГБ несжатого файла ощущается очень и очень. приведу пример: недавно сделанная ruwiki в формате stardict занимает уже 10 словарей, т.е. 30 файлов вместо исходных 2 в формате aard. а сколько их будет в enwiki?
если бы комплекс мер по убиранию ограничений на размер словарей был реализован на десктопном GD и потом плавно распространился бы на мобильный, то ruwiki могла бы занять 2-3 словаря stardict вместо 10.

хотелось бы услышать мнения людей, причастных к разработке GD, особенно Константина.
ccaid
 
Posts: 22
Joined: Wed Apr 11, 2012 7:01 pm

Re: DictUI - интерфейс для DictZip

Postby ccaid » Sun Feb 23, 2014 8:44 am

есть еще один интересный вариант. можно воспользоваться технологией из aard — каждую статью stardict сжимать независимо. как минимум, всегда методом deflate, как максимум одним из нескольких методов — какой даст меньший размер.
ccaid
 
Posts: 22
Joined: Wed Apr 11, 2012 7:01 pm

Previous

Return to Словари

Who is online

Users browsing this forum: No registered users and 2 guests