In this approach, we'll find out how to most efficiently validate a number with the Luhn algorithm.
The approaches page lists two idiomatic approaches to this exercise:
For our performance investigation, we'll also include a third approach that uses recursion.
Benchmarks
To benchmark the approaches, we wrote a small benchmark application using the timeit library.
reversed for: 1.0783263299963438e-05
replace reverse enumerate: 9.933844099985436e-06
recursion: 2.4321520800003783e-05
At an avergae time per call of 9934 nanoseconds, the replace(), reverse, enumerate() approach was the fastest.
The reversed() with a for loop approach was a bit slower, at 10783 nanoseconds.
The recursive approach was much slower, at about 24321 nanoseconds.
4th Sep 2024
·
Found it useful?