clj-rethinkdb icon indicating copy to clipboard operation
clj-rethinkdb copied to clipboard

Improve performance of byte handling

Open danielcompton opened this issue 9 years ago • 1 comments
trafficstars

There may be more efficient ways to handle the bytes coming and going from RethinkDB than creating and parsing as strings. A few possibilities

  • Look at gloss :char-sequence on the codecs, and if it actually improves performance. We need to handle two types if we go this route, a java.nio.CharBuffer, and a :gloss.data.string.core/char-sequence (both are CharSequences, but the gloss one doesn't give access to the underlying array).
  • Look at using Netty JSON decoding instead
  • Look at using io.netty.handler.codec.protobuf
  • Reusing any resources
  • Parsing the custom RethinkDB types in the JSON parsing

danielcompton avatar Aug 14 '16 21:08 danielcompton

To encourage this: I've been looking at performance problems with clj-rethinkdb recently and from my profiling it appears that gloss.io/decode_stream is a major performance problem.

Additionally, gloss seems to have been abandoned.

jwr avatar Jan 06 '18 12:01 jwr