6 ms·
That's a great question. Yes, Pony Kafka is currently slower than the C client. But it is also almost completely untuned as of right now. We expect there is a
by hackmanytrades 9y ago
That's a great question.
Yes, Pony Kafka is currently slower than the C client. But it is also almost completely untuned as of right now. We expect there is a lot of low hanging fruit on that front that will give us significant gains.
There is also the secondary concern regarding the thread pools internal to Pony and librdkafka. We've seen first hand how CPU cache invalidation can impact performance so we are very aware of the potential negatives if the Pony and librdkafka threads ever end up fighting with each other over the same CPU resources.
- royjacobs 9y agoSorry, that was my question-- was there a way to avoid using librdkafka's threadpool and essentially use it as a 'dumb' client, moving all the async stuff to your Pony actor layer?
- hackmanytrades 9y agoFrom what I understand of librdkafka, there's no easy way to disable the internal thread pool it uses. I'd imagine that the internal thread pool for sending/receiving data from Kafka is as core to librdkafka as the internal thread pool for running actors is to Pony and trying to remove or disable either of them would be a large undertaking.