Created
December 10, 2023 21:01
-
-
Save maxim-saplin/c155fed6457381df50b860e8ad37c1bf to your computer and use it in GitHub Desktop.
Python, equality vs list membership
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def is_special_number(number): | |
| if number == 7: | |
| return True | |
| elif number == 18: | |
| return True | |
| else: | |
| return False | |
| def is_special_number_2 (number): | |
| return number in [7, 18] | |
| import time | |
| def measure_execution_time(func, iterations, *args): | |
| start_time = time.time() | |
| for _ in range(iterations): | |
| func(*args) | |
| end_time = time.time() | |
| print(f"Execution time for {func.__name__}: {end_time - start_time} seconds") | |
| for _ in range(3): | |
| measure_execution_time(is_special_number, 10000000, 10) | |
| measure_execution_time(is_special_number_2, 10000000, 10) | |
| # M1 Pro, 3.11.6 | |
| # Execution time for is_special_number: 0.4272191524505615 seconds | |
| # Execution time for is_special_number_2: 0.4768540859222412 seconds | |
| # Execution time for is_special_number: 0.42814183235168457 seconds | |
| # Execution time for is_special_number_2: 0.4768698215484619 seconds | |
| # Execution time for is_special_number: 0.4265279769897461 seconds | |
| # Execution time for is_special_number_2: 0.47823524475097656 seconds | |
| # Avg 0.43 vs 0.48 | |
| # M1 Pro, 3.12.0 | |
| # Execution time for is_special_number: 0.40006017684936523 seconds | |
| # Execution time for is_special_number_2: 0.4342169761657715 seconds | |
| # Execution time for is_special_number: 0.3950788974761963 seconds | |
| # Execution time for is_special_number_2: 0.4562370777130127 seconds | |
| # Execution time for is_special_number: 0.3969869613647461 seconds | |
| # Execution time for is_special_number_2: 0.4354100227355957 seconds | |
| # Avg 0.40 vs 0.44 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment