Almost always when I start prototyping something in python, I wish that I stopped half-way where I am now and switched to something else.<p>Most recent example - converting huge amount of xml files to parquet. I started very fast with python + pyarrow, but when I realized that parallelizing execution would help enormously, I hit GIL or picking/unpickling/multiprocessing costs.<p>It did work in python, in the end, but I feel that writing that in Rust/C# (even if I don't know Rust besides tutorials) in the end would be much more performant.
That is a lot of text for not determining why the new solution is faster. The only relevant part:<p>> Before our migration, the old pipeline utilized a C library accessed through a Python service, which buffered and bundled data. This was really the critical aspect that was causing our latency.<p>How much speed up would there have been if they moved to a Rust wrapper around the same C library?<p>Using something other than Python is almost always going to be faster. This Reddit post does not give any insights into which aspects of Python lead to small/large performance hits. They show that it was the right solution for them with ample documentation which is great, but they don't provide any generalizable information.
Noticed similar scale of improvement when testing the two on cloud functions.<p>Just comes down to whether you need speed of building it or speed of program