thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Karlsson <>
Subject Thrift-deserialization performance issue with newer nodes
Date Mon, 16 Nov 2015 09:10:46 GMT

I'm sorry if this has been discussed on the mailing list earlier. Tried to
find any discussion around this but couldn't find. This may be an issue
with the newer node.js but would like to ask if anybody else have
experienced similar cases.

I have been using thrift to transport data between servers. One of the
server that I'm using is done in javascript and running on top of node.js
(0.10.39 series). The problems started when I tried to update the server to
newer ones. Deserialising messages passed to node.js server started to take
10x more time than before.

We are passing quite complex objects (structs with list of structs etc.).
I tried to simplify the issue as much as possible. If creating a method
like this:

service TestApi {
    list<map<string, string>> findThingsById(1: i64 avatarId)

(no structs etc.)

The issue is present. When passing list of 2000 objects with around 8 keys
each the performance drop is very visible compared with node 10.39 and node

With rudimentary profiling the most time is spent reading the actual
message and constructing the corresponding javascript native object.

I'm using SSL connection between the servers.

Have anybody else had similar type of issues? Or any ideas what to do with
the case.
Thanks beforehand.

- Erik

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message