[ https://issues.apache.org/jira/browse/IGNITE-13856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251088#comment-17251088 ]
Ignite TC Bot commented on IGNITE-13856: ---------------------------------------- {panel:title=Branch: [pull/8577/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel} {panel:title=Branch: [pull/8577/head] Base: [master] : New Tests (1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1} {color:#00008b}Basic 1{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=5794807]] * {color:#013220}IgniteBasicTestSuite: DirectByteBufferStreamImplV2ByteOrderSelfTest.testLinearPerformanceForWriteString - PASSED{color} {panel} [TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5794789&buildTypeId=IgniteTests24Java8_RunAll] > Superlinear performance of DirectByteBufferStreamImplV2.writeMessage(msg, > writer) > --------------------------------------------------------------------------------- > > Key: IGNITE-13856 > URL: https://issues.apache.org/jira/browse/IGNITE-13856 > Project: Ignite > Issue Type: Improvement > Components: binary > Affects Versions: 2.9 > Reporter: Ilya Kazakov > Assignee: Ilya Kazakov > Priority: Major > Attachments: LongStringSQL.java > > > {code:java} > @Override public void writeMessage(Message msg, MessageWriter writer) { > if (msg != null) { > if (buf.hasRemaining()) { > try { > writer.beforeInnerMessageWrite() > writer.setCurrentWriteClass(msg.getClass()); > lastFinished = msg.writeTo(buf, writer); > } > finally { > writer.afterInnerMessageWrite(lastFinished); > } > } > } > }{code} > It is going to do multiple invocations of msg.writeTo(). If msg is > GridH2String, it will to val.getBytes() on every invocation of writeTo(), > leading to spiking of CPU and RAM usage. > We should change this module to make sure that all serialization happens only > once. > > Reproducer is attached. If we increase string size in 10 times, then the > execution time increases more than 10 times. -- This message was sent by Atlassian Jira (v8.3.4#803005)