Optimized Rust is Still Slower Than Python+NumPy (2024)

[flagged] Optimized Rust is Still Slower Than Python+NumPy (github.com/hirasawakinko)
35 points by akasakahakada on March 30, 2023 | hide | past | favorite | 13comments
Optimized Rust is Still Slower Than Python+NumPy (1)

EwanToo on March 30, 2023 | next [–]


I assume this is in response to https://news.ycombinator.com/item?id=35367520

Optimized Rust is Still Slower Than Python+NumPy (2)

koito17 on March 30, 2023 | prev | next [–]


Ah, the classic problem with benchmarking programming languages.

There may be further optimizations you can do to the Rust code, likewise for Python. I do find it a bit hilarious we are "comparing" Python and Rust because really what this "comparison" lets us conclude is "FFI-ing into a mature Fortran library happens to give faster numerical perf than some Rust solution that is naive in comparison."

Let's see how Rust performs with its own FFI into LAPACK and BLAS. Better yet, since I know people will immediately complain Rust isn't a scripting language, let's try to compare something Lua + Torch against Python + PyTorch. This would be much more "apples-to-apples" than whatever OP is doing at the moment.

Optimized Rust is Still Slower Than Python+NumPy (3)

VHRanger on March 30, 2023 | parent | next [–]


I don't think it matters at the end of the day. Properly written numpy is very fast because it uses MKL or BLAS optimized for relevant architectures.

It won't be worth your while optimizing it unless you need to do something that steps outside the bounds of what numpy can easily do (parallel code, lots of small function calls, etc.)

Optimized Rust is Still Slower Than Python+NumPy (4)

allendoerfer on March 30, 2023 | parent | prev | next [–]


The most useful comparison is between implementations of each ecosystem‘s best practices.

Optimized Rust is Still Slower Than Python+NumPy (5)

jasonpeaco*ck on March 30, 2023 | prev | next [–]


No surprise, because NumPy is implemented with Fortran which is designed to be efficient and fast at mathematical operations. Rust is not. And Python is not either, which is why it uses Fortran under the covers.

I wouldn't be surprised to see Rust numerical libraries created similar to NumPy which also use Fortran, for the same reasons.

If you want a real comparison, try NumPy vs Julia:

https://www.matecdev.com/posts/numpy-julia-fortran.html

Optimized Rust is Still Slower Than Python+NumPy (6)

ummonk on March 30, 2023 | prev | next [–]


This shows a 7x speedup over the "done wrong" code.

Rust called into from Python showed a 100x improvement over the "done wrong" code: https://ohadravid.github.io/posts/2023-03-rusty-python/

So Python+NumPy is significantly slower than Python+Rust. And that's without doing any SIMD in the Rust code, though it's possible the compiler autounrolls and then autovectorizes the loop.

Optimized Rust is Still Slower Than Python+NumPy (7)

ummonk on March 31, 2023 | parent | next [–]


Never mind, I read the numbers wrong.

Optimized Rust is Still Slower Than Python+NumPy (8)

Kwpolska on March 30, 2023 | prev | next [–]


Where's the Rust?

Optimized Rust is Still Slower Than Python+NumPy (9)

justin_oaks on March 30, 2023 | parent | next [–]


Indeed. There isn't sufficient information to understand how the title relates to the link, and what the page linked to is intending to show.

Optimized Rust is Still Slower Than Python+NumPy (10)

re-thc on March 30, 2023 | parent | prev | next [–]


Rusted away

Optimized Rust is Still Slower Than Python+NumPy (11)

akasakahakada on March 30, 2023 | prev | next [–]


Walkthrough:

There is a post today demonstrated that rewriting Python Code in Rust got 100X speed up.

https://news.ycombinator.com/item?id=35367520

(credit to EwanToo, who gave the link first)

Also the original author claimed that Numpy is not worth the effort because it is significantly slower.

So here is the demonstration of a piece of Numpy code, with 350X speed up over the original code.

tldr:

original Python: 1X

original Numpy: 7X

original Rust: 100X

new Numpy: 350X

Optimized Rust is Still Slower Than Python+NumPy (12)

tayo42 on March 30, 2023 | prev | next [–]


Why did this get flagged. Could use some more description but it's pretty interesting

Optimized Rust is Still Slower Than Python+NumPy (13)

Misleading and not even wrong ...

Optimized Rust is Still Slower Than Python+NumPy (2024)
Top Articles
Respiratory Distress | Boston Children's Hospital
The Best Blockfolio Alternatives in 2024 (Expert Reviewed) | CoinLedger
Where To Go After Howling Pit Code Vein
Enrique Espinosa Melendez Obituary
Restaurer Triple Vitrage
Nyu Paralegal Program
What to Serve with Lasagna (80+ side dishes and wine pairings)
Wannaseemypixels
Wfin Local News
Best Cheap Action Camera
WK Kellogg Co (KLG) Dividends
4156303136
Ladyva Is She Married
Fredericksburg Free Lance Star Obituaries
Void Touched Curio
Guilford County | NCpedia
1-833-955-4522
Equibase | International Results
Lowe's Garden Fence Roll
Craigslist St. Cloud Minnesota
What Time Does Walmart Auto Center Open
How to Make Ghee - How We Flourish
Trivago Myrtle Beach Hotels
Hannaford Weekly Flyer Manchester Nh
Die wichtigsten E-Nummern
Transformers Movie Wiki
Jt Closeout World Rushville Indiana
Que Si Que Si Que No Que No Lyrics
Pokemmo Level Caps
Stolen Touches Neva Altaj Read Online Free
Appleton Post Crescent Today's Obituaries
Nsu Occupational Therapy Prerequisites
KITCHENAID Tilt-Head Stand Mixer Set 4.8L (Blue) + Balmuda The Pot (White) 5KSM175PSEIC | 31.33% Off | Central Online
Magicseaweed Capitola
Los Garroberros Menu
Blasphemous Painting Puzzle
Unifi Vlan Only Network
Mixer grinder buying guide: Everything you need to know before choosing between a traditional and bullet mixer grinder
Lake Andes Buy Sell Trade
Ferguson Showroom West Chester Pa
Bustednewspaper.com Rockbridge County Va
Tinfoil Unable To Start Software 2022
Oakley Rae (Social Media Star) – Bio, Net Worth, Career, Age, Height, And More
Tyco Forums
Scott Surratt Salary
Gear Bicycle Sales Butler Pa
Where Is Darla-Jean Stanton Now
Jovan Pulitzer Telegram
Vrca File Converter
Basic requirements | UC Admissions
Lorcin 380 10 Round Clip
Latest Posts
Article information

Author: Rubie Ullrich

Last Updated:

Views: 5967

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Rubie Ullrich

Birthday: 1998-02-02

Address: 743 Stoltenberg Center, Genovevaville, NJ 59925-3119

Phone: +2202978377583

Job: Administration Engineer

Hobby: Surfing, Sailing, Listening to music, Web surfing, Kitesurfing, Geocaching, Backpacking

Introduction: My name is Rubie Ullrich, I am a enthusiastic, perfect, tender, vivacious, talented, famous, delightful person who loves writing and wants to share my knowledge and understanding with you.