Hello
We were doing application profiling and we discovered our application while it is fetching results from remote orientdb server spends *lots* of time (70%+) in the method *com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readByte()* The line wasting time is: *in.readByte();* // in is a DataInputStream instance. We verified that there are methods readInt(), readFloat(), etc. Did you consider using a faster approach? It will accelerate speed access a lot. For example, it is possible to read from the network and add it to a byte array object and access it with POJOs mapping the data directly in the byte array using methods in sun.misc.Unsafe. Something similar to what it is done in https://github.com/real-logic/Agrona/blob/master/src/main/java/org/agrona/UnsafeAccess.java and https://github.com/real-logic/Agrona/blob/master/src/main/java/org/agrona/concurrent/UnsafeBuffer.java There are several advantages including: * zero copy * less method calls. * speed improvement (1 or 2 orders faster). No sure how the odb server encodes its output, but if same approach is used in the server side, speed improvements could be huge. I used these approach in exchange markets backend servers where a binary protocol is used (similar to orientdb binary protocol). P -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
