You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2016/07/12 12:34:20 UTC

[jira] [Commented] (LUCENE-7371) BKDReader could compress values better

    [ https://issues.apache.org/jira/browse/LUCENE-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15372803#comment-15372803 ] 

Michael McCandless commented on LUCENE-7371:
--------------------------------------------

This is a nice optimization!  Patch looks good!

The {{BKDWriter}} change to pick which dimension to apply the run-length coding to is best effort right?  Because, you could have a dim with fewer unique leading suffix bytes, but a larger delta between first and last values?  But it would take quite a bit more work at indexing time to figure it out ... maybe add a comment explaining this tradeoff?  It seems likely the "min delta" approach should work well in practice, but have you tried with the slow-but-correct approach to verify?

Also, I noticed {{TestBackwardsCompatibility}} seems not to test points!  I'll go fix that ...

> BKDReader could compress values better
> --------------------------------------
>
>                 Key: LUCENE-7371
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7371
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-7371.patch, LUCENE-7371.patch
>
>
> For compressing values, BKDReader only relies on shared prefixes in a block. We could probably easily do better. For instance there are only 256 possible values for the first byte of the dimension that the values are sorted by, yet we use a block size of 1024. So by using something simple like run-length compression we could save 6 bits per value on average.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org