Interview mit John Davies

„Wie Java serialisiert und Dinge speichert, ist erschreckend ineffizient“

Redaktion JAXenter

John Davies ist Mitgründer und CTO des Unternehmens C24. In seiner Session In-Process or distributed? Performance or Scalability? auf der JAX 2016 diskutierte er die Frage, ob Skalierbarkeit oder Performance wichtiger ist. Im Interview mit JAXenter-Redakteurin Gabriela Motroc sprach er darüber, warum die Effizienz von Binärcode so viel besser als die von Java-Objekten ist, weshalb er Hadoop hasst und welche Probleme Spark mit sich bringt.

daviesJohn Davies is co-founder and CTO of C24, a London based fast data company specializing in high-volume, low-latency complex messaging. With customers including many of the world’s largest investment banks, C24 provides data optimization for standards like SWIFT, ISO-20022, FpML and FIX as well as proprietary formats. C24 has recently released a new data optimization product – PREON – that creates highly optimized binary versions of these complex messages reducing memory and network usage by over twenty times, while significantly increasing performance. John has been global chief architect at JP Morgan, BNP Paribas and was the original architect behind Visa’s (now Visa Checkout). John has co-authored several Java books and is a frequent speaker at technical and banking conferences around the world. He is married to a French wife and has three boys (13, 15 and 17) who all love traveling (as long as there’s internet).
Geschrieben von

Hinterlasse einen Kommentar

2 Kommentare auf "„Wie Java serialisiert und Dinge speichert, ist erschreckend ineffizient“"

Benachrichtige mich zu:
Rüdiger Möller
If java serialization is implemented efficiently (like in it is a viable alternative to handcrafted / generation based binary protocols requiring redundant external messaged description languages. A Java message objects already holds all necessary metainformation required to encode the object binary. In addition, automatic reference sharing / restauration can improve throughput (especially with RPC) by an order of magnitude (common, shared objects are not repeatedly transmitted). Regarding productivity its great as long disclipine is kept (e.g. the classes sent over wire are defined). Another great application is remote execution of locally defined lambdas which makes „move code not data“… Read more »
Eüdiger Möller

Einfach besser implementieren, dann klappt’s auch mit der Performance ..

Eine Java Klassendefinitionen beinhaltet bereits alle nötige Information um diese binär und effizient zu de- und entcodieren. Remoting mit extern definierten Nachrichtenformaten erzeugen unnötige Redundanz, Type-Mapping und verfügen über ein deutlich geringeres Featureset (keine Objectgraph-Restaurierung, kein Remoting von Lambdas – essentiel für „Move Code – Not Data“).