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

Jorge Bay commented on TINKERPOP-2161:
--------------------------------------

I've pushed a commit to optimize the write path by remove the use of composite 
buffers: https://github.com/apache/tinkerpop/tree/write-TINKERPOP-2161-1

With the current approach, I've obtained the following serialization benchmark 
results:

{code}
Benchmark                                          Mode  Cnt        Score       
 Error  Units
SerializationBenchmark.testReadMessage1Binary     thrpt   20  4699805.045 ± 
289657.843  ops/s
SerializationBenchmark.testReadMessage1GraphSON   thrpt   20    40095.029 ±   
1921.030  ops/s
SerializationBenchmark.testReadMessage2Binary     thrpt   20   970825.257 ±  
32252.988  ops/s
SerializationBenchmark.testReadMessage2GraphSON   thrpt   20    28624.405 ±   
1571.170  ops/s
SerializationBenchmark.testWriteBytecodeBinary    thrpt   20   462364.186 ±  
17254.689  ops/s
SerializationBenchmark.testWriteBytecodeGraphSON  thrpt   20   636226.623 ±  
52341.880  ops/s
SerializationBenchmark.testWriteResponseBinary    thrpt   20   601825.324 ±  
61370.149  ops/s
SerializationBenchmark.testWriteResponseGraphSON  thrpt   20   642978.971 ±  
29259.051  ops/s
{code}

It's an improvement but there is still some way to go.

I'll try another approach on a different branch that will involve changing the 
binary serialization API a little bit but I think it will be worth it.

> GraphBinary: Write serialization performance issue 
> ---------------------------------------------------
>
>                 Key: TINKERPOP-2161
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2161
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: io
>    Affects Versions: 3.4.0
>            Reporter: Jorge Bay
>            Priority: Major
>
> There seems to be a performance issue regarding the write path in GraphBinary:
> {code}
> Benchmark                                          Mode  Cnt         Score    
>      Error  Units
> SerializationBenchmark.testReadMessage1Binary     thrpt   20   4800832.981 ±  
> 430909.102  ops/s
> SerializationBenchmark.testReadMessage1GraphSON   thrpt   20     34109.669 ±  
>   5231.210  ops/s
> SerializationBenchmark.testReadMessage2Binary     thrpt   20    827266.707 ±  
>  78214.379  ops/s
> SerializationBenchmark.testReadMessage2GraphSON   thrpt   20     18462.919 ±  
>   2640.093  ops/s
> SerializationBenchmark.testWriteBytecodeBinary    thrpt   20    130486.109 ±  
>   5505.113  ops/s
> SerializationBenchmark.testWriteBytecodeGraphSON  thrpt   20    592658.686 ±  
>  68063.966  ops/s
> SerializationBenchmark.testWriteResponseBinary    thrpt   20    290240.715 ±  
>  25620.656  ops/s
> SerializationBenchmark.testWriteResponseGraphSON  thrpt   20    612832.036 ±  
>  48173.673  ops/s
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to