]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Improve v7 format compression.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 12 Dec 2015 19:13:33 +0000 (20:13 +0100)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 12 Dec 2015 19:13:33 +0000 (20:13 +0100)
Pack more HTML pages together.
They compress much better with more pages, and
are rarely used so a few extra milliseconds to read them
in is not an issue.

res/raw/dictionary_info.txt
src/com/hughes/android/dictionary/engine/Dictionary.java
src/com/hughes/android/dictionary/engine/Index.java

index 3d407b0370ff2d859ecbca56370f290cfc5375fa..0a29b7d833ac0a193bd31e237188a460f35a7064 100644 (file)
@@ -99,7 +99,7 @@ FR-BG.quickdic        http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-d
 FR-CS.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-CS.quickdic.v006.zip    1442254346613   18429081        14030906        2       FR      16874   15501   CS      44564   42900   (FR)Wiktionary-based FR-CS dictionary.
 FR-EO.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-EO.quickdic.v006.zip    1442254492317   24003758        15169444        2       FR      11413   10566   EO      76377   75778   (FR)Wiktionary-based FR-EO dictionary.
 FR-ES.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-ES.quickdic.v006.zip    1442254654705   11757104        7409077 2       FR      25597   23149   ES      37072   34887   (FR)Wiktionary-based FR-ES dictionary.
-FR-IS.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-IS.quickdic.v007.zip    1449936990900   1598172 1533333 2       FR      8601    7788    IS      22387   21244   (FR)Wiktionary-based FR-IS dictionary.
+FR-IS.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-IS.quickdic.v007.zip    1449946728255   1306402 1248877 2       FR      8601    7788    IS      22387   21244   (FR)Wiktionary-based FR-IS dictionary.
 FR-IT.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-IT.quickdic.v006.zip    1442254922263   25484806        17114112        2       FR      27542   25759   IT      68481   66981   (FR)Wiktionary-based FR-IT dictionary.
 FR-JA.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-JA.quickdic.v006.zip    1442255093894   16876289        10667997        2       FR      19970   17691   JA      82978   45912   (FR)Wiktionary-based FR-JA dictionary.
 FR-LA.quickdic http://github.com/rdoeffinger/Dictionary/releases/download/v0.2-dictionaries/FR-LA.quickdic.v006.zip    1442255330498   29529636        20990153        2       FR      7432    6911    LA      85255   84555   (FR)Wiktionary-based FR-LA dictionary.
index cb7d32fc3599094c60a8f55bf6d5c8cc5dceea58..f900bab9ea74a5ac7a9c7706e63b5c7c803b636a 100644 (file)
@@ -83,20 +83,20 @@ public class Dictionary implements RAFSerializable<Dictionary> {
             raf.seek(rafSources.getEndOffset());
 
             pairEntries = CachingList.create(
-                    RAFList.create(raf, new PairEntry.Serializer(this), raf.getFilePointer(), dictFileVersion, dictFileVersion >= 7 ? 64 : 1, dictFileVersion >= 7),
+                    RAFList.create(raf, new PairEntry.Serializer(this), raf.getFilePointer(), dictFileVersion),
                     CACHE_SIZE);
             textEntries = CachingList.create(
                     RAFList.create(raf, new TextEntry.Serializer(this), raf.getFilePointer(), dictFileVersion),
                     CACHE_SIZE);
             if (dictFileVersion >= 5) {
                 htmlEntries = CachingList.create(
-                        RAFList.create(raf, new HtmlEntry.Serializer(this), raf.getFilePointer(), dictFileVersion, dictFileVersion >= 7 ? 64 : 1, dictFileVersion >= 7),
+                        RAFList.create(raf, new HtmlEntry.Serializer(this), raf.getFilePointer(), dictFileVersion),
                         CACHE_SIZE);
             } else {
                 htmlEntries = Collections.emptyList();
             }
             if (dictFileVersion >= 7) {
-                htmlData = RAFList.create(raf, new HtmlEntry.DataDeserializer(), raf.getFilePointer(), dictFileVersion, 16, true);
+                htmlData = RAFList.create(raf, new HtmlEntry.DataDeserializer(), raf.getFilePointer(), dictFileVersion);
             } else {
                 htmlData = null;
             }
@@ -128,7 +128,7 @@ public class Dictionary implements RAFSerializable<Dictionary> {
         System.out.println("html start: " + raf.getFilePointer());
         RAFList.write(raf, htmlEntries, new HtmlEntry.Serializer(this), 64, true);
         assert htmlData == null;
-        RAFList.write(raf, htmlEntries, new HtmlEntry.DataSerializer(), 16, true);
+        RAFList.write(raf, htmlEntries, new HtmlEntry.DataSerializer(), 128, true);
         System.out.println("indices start: " + raf.getFilePointer());
         RAFList.write(raf, indices, indexSerializer);
         System.out.println("end: " + raf.getFilePointer());
index 139cdd8da908af8a42cb42fa4a67afedb9e6dd1d..bb4b46031e28bb255a061a05247d8afcf4548ae7 100644 (file)
@@ -136,8 +136,8 @@ public final class Index implements RAFSerializable<Index> {
             mainTokenCount = raf.readInt();
         }
         sortedIndexEntries = CachingList.create(
-                RAFList.create(raf, indexEntrySerializer, raf.getFilePointer(), dict.dictFileVersion,
-                dict.dictFileVersion >= 7 ? 16 : 1, dict.dictFileVersion >= 7), CACHE_SIZE);
+                RAFList.create(raf, indexEntrySerializer, raf.getFilePointer(),
+                               dict.dictFileVersion), CACHE_SIZE);
         if (dict.dictFileVersion >= 7) {
             int count = StringUtil.readVarInt(raf);
             stoplist = new HashSet<String>(count);
@@ -165,7 +165,7 @@ public final class Index implements RAFSerializable<Index> {
         if (dict.dictFileVersion >= 2) {
             raf.writeInt(mainTokenCount);
         }
-        RAFList.write(raf, sortedIndexEntries, indexEntrySerializer, 16, true);
+        RAFList.write(raf, sortedIndexEntries, indexEntrySerializer, 32, true);
         StringUtil.writeVarInt(raf, stoplist.size());
         for (String i : stoplist) {
             raf.writeUTF(i);