LINUX.ORG.RU

Ответ на: комментарий от ananas

Ну так если у тебя SoC со стеком 128 байт, то это совсем другое дело. А в других случаях тебе +4 байта стека ничего не поломают :)

Deleted
()
Ответ на: комментарий от Deleted

проблема не только в стеке. лишний call - лишнее дисковое пространство, которое может быть изрядно ограничено, это лишние такты процессора, затраченные ни на что.

а теперь прикинь, что эта программулина должна просто вычитать цепочку байт с одного канала, выполнить небольшую их первичную обработку (как пример - просто добавить по 1 к каждому байту) и швырнуть мультикастом на дальнейшую обработку в системы верхнего уровня. вся эта фигня крутится на достаточно слабом микроконтроллере, с ограниченным размером прошивки. нафига тут лишние call-ы и прочий crap? разве только для того, чтобы на лоре за говнокод не приняли.

все зависит от конкретной задачи, и потому меня лично заявления, с которых началась дискуссия изрядно злят. потому что вводят новичков в заблуждение, из которых могут произростать достаточно жуткие вещи и трудноуловимые ошибки

ananas ★★★★★
()
Ответ на: комментарий от ananas

проблема не только в стеке. лишний call - лишнее дисковое пространство, которое может быть изрядно ограничено, это лишние такты процессора, затраченные ни на что.

Боишся call - man inline :) Хотя на call ты меньше потеряешь в производительности (а потеряешь ты почти ничего), чем выиграешь в читабельности.

вся эта фигня крутится на достаточно слабом микроконтроллере, с ограниченным размером прошивки.

Еще раз:

Ну так если у тебя SoC со стеком 128 байт, то это совсем другое дело.

Очевидно, что выполнение поставленной задачи важнее читабельности кода. Т.е., на слабых микроконтроллерах экономия call-ов имеет смысл, а вот для десктопа это в среднем случае даст околонулевой профит.

все зависит от конкретной задачи, и потому меня лично заявления, с которых началась дискуссия изрядно злят. потому что вводят новичков в заблуждение, из которых могут произростать достаточно жуткие вещи и трудноуловимые ошибки

Ошибки из рекомендации писать маленькие функции? Вообще-то этот подход как раз и нужен для упрощения нахождения ошибок и модифицирования программы. Хоть это и не отменяет того факта, что абсолютных правил нет, и есть случаи, когда это будет плохим решением.

Deleted
()
Ответ на: комментарий от Deleted

> Очевидно, что выполнение поставленной задачи важнее читабельности кода. Т.е., на слабых микроконтроллерах экономия call-ов имеет смысл, а вот для десктопа это в среднем случае даст околонулевой профит.

Хоть это и не отменяет того факта, что абсолютных правил нет, и есть случаи, когда это будет плохим решением.

так к чему и веду. правила же, приведенные кроном, таки тянули на абсолют.

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.