@Soul1

Влияет ли количество строк кода на скорость выполнения программы?

Вопрос про Python, в первую очередь он интересует, но интересно послушать и про другие языки программирования. Просто в учебниках про это почему-то совсем не пишут, хотя вопрос очевидный и напрашивается. Компьютеру вообще принципиально на сколько строк мы раскидаем наш код? Или ему пофиг?
Я понимаю, что чаще всего читабельность кода всегда будет идти на первом месте, но допустим мы рассматриваем пример, когда пишешь код для себя и можешь хоть в одну строку весь код написать, а можешь раскидать на 100 строк.
  • Вопрос задан
  • 1121 просмотр
Пригласить эксперта
Ответы на вопрос 5
GavriKos
@GavriKos
Количество строк не влияет - влияет количество операций.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега IT-образование
software engineer
В программе есть критичные и не очень моменты.
Критичные для скорости оптимизируют максимально, некритичные - нет
Ответ написан
Комментировать
Компьютеру вообще принципиально на сколько строк мы раскидаем наш код?

Компьютер исполняет машинный код, а не исходный. Так что количество строк кода в исходнике, как правило, не влияет на скорость выполнения.

В случае питона, в теории, может немного меняться производительность от изменения количества строк, тк он интерпретирует код (хотя есть и JIT, которому уже пофиг будет), но скорость может меняться в обе стороны.

Моё мнение на счёт производительности:
1. Сначала пиши понятно
2. Потом используй более эффективные алгоритмы
3. Естественно, надо ещё учитывать, что можно в некоторых случаях распараллелить вычисления и/или заиспользовать SSE, AVX, Си-расширения.
4. Уже когда точно все три первых этапа пройдены, начинай оптимизировать сокращая имена переменных, убирая лишние строки, и используя любые другие экзотические способы оптимизации (тоже надо проверять всё бенчмарками). Какие-то подобные манипуляции наверняка можно автоматизировать.
Ответ написан
Комментировать
@mkone112
Начинающий питонист.
Конечно! Если у тебя исходник одним файлом на 10гб - запускаться оно будет медленно-медленно. Ну и с индусским кодом-простыней справится не каждый компилятор - может получиться существенно медленнее.
Ответ написан
Комментировать
@ASurt
Как уже упоминалось, влияет не количество строк, а операций.
Дополняю:
Строки могут быть разные
l = [[0 for _ in range(100)] for _ in range(100)]
x = 1 + 1

Как простейший пример. Первая строка явно займет больше времени чем вторая. Питон позволяет делать весьма трудоемкие однострочники, которые можно было бы сделать даже функциями.
Плюс использование методов библиотек, которые коде выглядят одной строкой, а на деле могут иметь очень сложную логику за собой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ФЛАЙ НЭТ Москва
от 70 000 до 70 000 ₽
IXORA Нижний Новгород
от 115 000 ₽
Wanted. Москва
от 60 000 до 120 000 ₽
08 нояб. 2024, в 08:38
5000 руб./за проект
08 нояб. 2024, в 06:03
50000 руб./за проект