Hi there,

 
Weare using Apache Geode 1.1 as DB backend and a C++ application as client 
thatis using Geode-native pre-release (and using PDX serialization), and 
thesummary is that we are experience that PDX deserialization is taking most 
ofthe CPU in our C++ application.


 
Whenbenchmarking the application we see the following (in a 12 cores machine):

-Geode CPU usage is really low (let's say 40%)

- Client app CPU usage is really (let's say 700%)


 
If we push further the benchmark thelatencies are simply too high


 
The objects that we store looks like:

         CacheableKeyPtrkey;



    char *a;



    bool bdistributedEntry;



   CacheableStringPtr c;



   CacheableHashMapPtr attributesMap;



    // children arekept only for distributed entries



   CacheableLinkedHashSetPtr d;











This method consumes most of the CPU:

CacheablePtrattributes;



    instance->getField("attributes", attributes);











I have some doubts about:

- Is C++ PDX serialization mature andperformant? I have read some benchmarks 
about Java's library but I was not ableto find information about the C++ 
library.

- Is there any of modelling guidelinesthat could alleviate the serialization 
performance issue? We havestarted with a design in which classes are designed 
for simplicity withoutconsider PDX serialization performance aspect





Thx in advance,





Evaristo

Reply via email to