[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to