[ 
https://issues.apache.org/jira/browse/HBASE-3165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925941#action_12925941
 ] 

ryan rawson commented on HBASE-3165:
------------------------------------

the problem is the code is pretty ugly and creates a 2nd body of serialization 
code.  I tried a lot of things here, and this is just a dump of what I did.  I 
need to change my measurement strategy, and test to see which one of the 2-3 
approaches works the best with minimal icky-code addition.  For example the 
final attempt made it so that Result used the ByteBuffer interface directly, 
thus ending up with 2 implementations of the serialization (but only 1 of the 
deserialization). I also have a ByteBufferOutputStream which translates 
OutputStream writes into BB writes and that would probably be a better from 
code maintainability, and it might be as fast as using BB directly.  I want 
proof of this instead of guessing. Sounds reasonable?

> some performance things i did
> -----------------------------
>
>                 Key: HBASE-3165
>                 URL: https://issues.apache.org/jira/browse/HBASE-3165
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ryan rawson
>            Assignee: ryan rawson
>         Attachments: HBASE-2165-2.txt, HBASE-2165.txt
>
>
> in an attempt to improve the profile of the serialization of results in the 
> regionserver side I did a large number of things to reduce buffer copies, 
> improve the API usage efficiency (using the BB API directly) and so on.
> Using a YCSB config like so:
> recordcount=10000
> #recordcount=5
> operationcount=1000
> workload=com.yahoo.ycsb.workloads.CoreWorkload
> readallfields=true
> readproportion=0
> updateproportion=0
> scanproportion=1
> insertproportion=0
> fieldlength=10
> fieldcount=100
> requestdistribution=zipfian
> scanlength=300
> scanlengthdistribution=zipfian
> threadcount=1
> columnfamily=data
> Doing a medium sized scan of 1-300 rows.
> Top line performance was at about 67ms, but these micro improvements didnt 
> budge that needle, and it didnt change the scale of the CPU profiler - ie: 
> cpu time spent in serialization was the same.
> Since then I also made an improvement to HBase-YCSB which may have been 
> masking the performance gains.  I have suspended this work in favor of 0.90 
> pre-release work for now.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to