News for hackers. Stuff that matters.
Re:Why Rust helps even if you have to use a lot of `unsafe` by RhodesianHunter on Wednesday August 02, 2023 @03:25PM (#36975855)
Yes, if you take the time to hand roll a replacement like Redpanda did it will be faster (though to your point that seems fairly pointless given the constraints imposed by IO)

I was referring more to the general ecosystem of Flink/Spark/KStreams/KTable etc.

Re:Why Rust helps even if you have to use a lot of `unsafe` by agallego on Wednesday August 02, 2023 @03:48PM (#36976241)
this seems truthy but isn't in practice. a lot of work, my perf optimization team @ redpanda does (yes we have a full team chasing tail latencies) is spent on CPU optimization, debouncing, amortizing costs, metadata lookups, hash tables, profilers, etc. so there is a lot of additional work after the IO layer which a decent async eventing thing can get you to get good perf.
Re:Why Rust helps even if you have to use a lot of `unsafe` by RhodesianHunter on Wednesday August 02, 2023 @04:50PM (#36977202)
What I mean to say is that in my experience the time spent round-tripping to Kafka is more than the time it takes Kafka to do whatever I'm asking it to do. So at least for my use-cases a faster Kafka would be of no benefit.

Now if it means I can run fewer smaller brokers that's awesome.

Re:Why Rust helps even if you have to use a lot of `unsafe` by agallego on Monday August 07, 2023 @07:01PM (#37042122)
def. that should be the case, we have iot companies pushing us on a single pthread a a few megs of ram.
Re:Why Rust helps even if you have to use a lot of `unsafe` by morelisp on Wednesday August 02, 2023 @04:58PM (#36977319)
> Flink/Spark/KStreams/KTable etc.

Then it's still a bit of an untruth since all of those use RocksDB for their high-performance storage layer, which isn't in Java. You could maybe (maybe!) argue for some ergonomics (though especially hard to argue for Spark!) but performance still goes plainly to C (/ C++).

Re:Why Rust helps even if you have to use a lot of `unsafe` by RhodesianHunter on Friday August 04, 2023 @04:04PM (#37005122)
We're not talking about the systems you build on top of here. We're talking about the code. You write yourself. The fact that rocks is written in c is irrelevant to the fact that in order to use the ecosystem I'm describing you need to be on the JVM or your experience will be at best subpar.
Re:Why Rust helps even if you have to use a lot of `unsafe` by morelisp on Saturday August 05, 2023 @07:09PM (#37017128)
Sure, if you ignore offloading all the hard work to a C library, we can pretend any language is as fast as any other. It's a boring conversation then though - might as well use Python...

Not to mention you still pay a real performance penalty for being unable to make direct use of RocksDB features, because Kafka is shoving a million "abstraction" and cache layers in there and you just want your your damned merge operator to apply.

I don't agree Kafka off the JVM is subpar. Kafka Streams has a lot of sharp edges from "abstractions" that aren't, Spark is a godawful developer experience and tuning it for performance is black magic for 99% of data engineers, and Flink keeps dithering about how consistent/stable baseline features like queries will be. You can stand up very good apps for a huge set of common cases just as quickly in Go or C++, and not have to deal with Kafka Streams's funny opinions about threads/tasks/consumers.