Live data from Hacker News

Rust – A hard decision pays off

pinecone.io

11–20 of 386 posts

Re: Rust – A hard decision pays off

#11

I don't want to be dismissive but how much of this success belongs to the team of rock solid senior engineers with enough experience under their belt rather than rewrite in Rust?

I would let the same team of "rock solid senior engineers" be the judge of that. They seem to think it mattered significantly enough.

Re: Rust – A hard decision pays off

#12
> Simultaneous fetches of thousands (sometimes tens of thousands) of objects started becoming inefficient, especially when fetching from collections of tens of millions of objects

Why not try leveldb. We're doing random reads of 170,000 vectors (/130M) a second. No startup needed.

Re: Rust – A hard decision pays off

#13

Maybe it’s just me but it seems irresponsible to move your entire team to a programming language none of them knows. Rust is great, but modern C++ is great too.

> modern C++ is great

Great in the way that Alexander the Great was great. Achieved big things and killed a lot of people.

Though in the case of C++ they're just dead inside.

Re: Rust – A hard decision pays off

#14
Leading with several pages of what amounts to smug self-congratulation does not inspire finishing.

Rust deserves mention in the title only if actually getting it done in Rust was particularly difficult.

Re: Rust – A hard decision pays off

#16
post #10

> ..complex runtime issues which were almost impossible to reproduce or isolate > That’s when internal murmurs about a complete rewrite started brewing… > We decided to move our entire codebase to Rust > there was still one minor problem - no one on the team knew Rust "We have runtime issues so we will fix them by a complete rewrite in a language that no one on the team knows." I would not call that a "hard decision"…

I mean when the tools you know are failing you, you might as well roll the dice.

Re: Rust – A hard decision pays off

#17

Maybe it’s just me but it seems irresponsible to move your entire team to a programming language none of them knows. Rust is great, but modern C++ is great too.

> it seems irresponsible to move your entire team to a programming language none of them knows

Based on my experiences, I would agree. There seems to be a very important difference between my experiences, which probably align with most of the industry, and the Pinecone team. My career has been working with average developers doing ordinary business and internet things. Stuff that takes organization and teamwork, but not necessarily advanced or esoteric knowledge. So the COBOL programmers that went to the "Java in 21 Days" training that I consulted with, or the C# programmers who went with Go, they did poor-to-OK, but that was Good Enough.

The Pinecone team, though. They were already writing C/C++ to solve Hard Problems. As experienced programmers, they probably already understood the landscape of systems languages with pointers and having to manage their own memory. Rust, while imposing, would not be a huge leap for them.

Another aspect worth noting: they did they re-write incrementally, never completely abandoning the existing system. At least it seems so. I'll be interested in seeing the presentation from the upcoming talk about the rewrite that's mentioned in the story.

Re: Rust – A hard decision pays off

#18

So I was one of the 3 hackers who wrote the LSM that predated Rocks at FB, and as a result I distinctly remember when Rocks overtook it in features by trading off performance, and again when it met and exceeded the performance while keeping the greater capability. RocksDB kicks ass and has for a long time, I’d recommend it to anyone in the market for that sort of thing. FAISS is also great, and has been for years. I…

> But as someone who likes Rust and wants to like it more: don’t lead with that.

The original title appears to be “Inside the Pinecone”, but seeing as they submitted it themselves I’m guessing they wanted the uptick on the Rust.

The article itself doesn’t discuss their transition to Rust until the end. So I wouldn’t say they led with it originally, but perhaps didn’t get traction on the original title.

Re: Rust – A hard decision pays off

#19
post #11

I don't want to be dismissive but how much of this success belongs to the team of rock solid senior engineers with enough experience under their belt rather than rewrite in Rust?

I would let the same team of "rock solid senior engineers" be the judge of that. They seem to think it mattered significantly enough.

Or ... since they are now betting fully on Rust, they now want everybody else on Rust too. Because more people == a higher probability that if they run into issues with Rust someone will fix it.

Re: Rust – A hard decision pays off

#20
> Dev velocity, which was supposed to be the claim to fame of Python, improved dramatically with Rust. Built-in testing, CI/CD, benchmarking, and an overzealous compiler increased engineers’ confidence in pushing changes, and enabled them to work on the same code sections and contribute simultaneously without breaking the code base. Most impressively though, real time operational events dropped almost to zero overnight after the original release.

I think Rust is really shaping up to be in a sweet spot.

One thing that is not talked about enough with Rust, is that you do not need to start with fighting the borrow checker from day one.

Making copies and using Rc can bypass a lot of the trickier parts of the borrow checker and still allow you to access much of the benefits of Rust in terms of performance and correctness, especially compared to a dynamic language like Python.

As you get more experience, you can then use references and other techniques to eliminated unnecessary copies, etc.

Post reply on HN