Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dr1dex/is-even
Объяснение двух реализаций алгоритма по определению четности чисел
https://github.com/dr1dex/is-even
Last synced: 6 days ago
JSON representation
Объяснение двух реализаций алгоритма по определению четности чисел
- Host: GitHub
- URL: https://github.com/dr1dex/is-even
- Owner: Dr1DeX
- License: mit
- Created: 2024-03-31T07:57:05.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-03-31T11:21:24.000Z (8 months ago)
- Last Synced: 2024-04-01T09:38:25.933Z (8 months ago)
- Language: Python
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# is-even
![workflow](https://github.com/Dr1DeX/is-even/actions/workflows/main.yml/badge.svg)## Объяснение двух реализаций алгоритма по определению четности чисел
### У нас имеются две реализации алгоритма:
def is_even(value):
return value % 2 == 0def is_even_bitwise(value):
return not value & 1-------
### В первой реализации мы ``сравниваем`` остаток от деления по модулю равным нулю.
-------
### Во второй реализации ``побитовое`` сравнение младших битов(у четных это 1, нечетных 0)
-------
### Преимущества второй реализаций:
#### Теоретически побитовые операции работают быстрее, чем деление по модулю, однако в реальности они будут работать +- одинаково за счет оптимизации компилятора
### Бенчмарк:
Func is_even start the execution:
Func is_even completes execution:
0.04389549998450093Func is_even_bitwise start the execution:
Func is_even_bitwise completes execution:
0.037116499996045604-----
### Преимущества первой реализации:
#### По сравнению со второй реализацией простой и понятный код.
_____
### Недостатки:
#### 1) Если стоит задача написать мега-эффективный код то, первая реализация нам не подойдет, так как будет работать медленнее, а значит вторая реализация в данном контексте побеждает.
#### 2) Если стоит задача написать 'хороший' код, то второй вариант нам не подойдет, так как побитовые операции ухудшают читабельность кода._____
## Developer: Dr1DeX