Hacker News new | past | comments | ask | show | jobs | submit login

I am very skeptical about this. The title makes it look like it's all about Elixir, but there seems to have been a fair amount of re-architecturing.

"One of the systems that ran on 200 Python servers now runs on four Elixir servers"

This alone is a major telltale.




I don’t know about Elixir specifically, but python is slllllooooowwww. If the operation is CPU bound, you can easily get a 100X performance improvement by rewriting carefully optimized Python in naive Go, Java, Rust, C#, etc. And if you make an optimization pass on that you can usually eke out another 10X.

Even on I/O bound operations, in Python you have to choose between the error-prone async framework if you want to improve resource utilization or you stick to the synchronous world and accept extremely low resource saturation.

Either way, I can entirely believe that another language would beat Python on both counts. I’ve seen similar results rewriting a Python system in Go with extremely minimal rearchitecting.

The silliest thing is that the title credits the improvement to moving toward Elixir rather than moving away from Python (or maybe their case really is ideal for the BEAM VM and wouldn’t translate easily to, say, Go’s runtime model although I doubt it).


For sure; Elixir comes with a whole new architecture as well, and they COULD have gained a significant performance improvement if they rewrote / re-architected it in Python.

However, could they have done a 50x performance improvement in Python? And what about the other numbers, like speed and concurrency?

That said, I'm confident they crunched the numbers and did the tradeoffs; after all, adding another language and/or architecture will make your company more complex, makes hiring more complex.


Depends. Were they already using gunicorn? What about cPython? Was the code written by a junior developer without much consideration for memorization and dictionary access?

And sure, you can get some performance improvements by rewriting things in those languages, at the expense of losing the entire python open source environment.

So I would need way more information about the previous system to take this even remotely seriously.

Python scales quite reasonably for most small to medium companies.


They would have had to create a bad implementation of half of Erlang to accomplish it. Or you could just fuckin' use Elixir.


> I'm confident they crunched the numbers and did the tradeoffs;

Here is the math they did.

Pros: Looks good in my promotion packet.

Cons: Need a bigger garage to fit all of these new sports cars.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: