Предыдущие ответы совпадают и правы, AFAIK.
Однако , я думаю, есть несколько дополнительных и общих соображений, о которых вам следует знать каждый раз, когда вы задаетесь вопросом об эффективности любого вычислительного актива (например, кода).
Во-первых, если все находится под вашим строгим контролем, вы можете в принципе считать тактовые циклы один за другим из кода сборки.Или из более абстрактных рассуждений найдите вычислительную стоимость операции / алгоритма.
Пока все хорошо.Но не забудьте измерить впоследствии.Вы можете обнаружить, что измерение времени выполнения не так просто и просто, а иногда не всегда понятно (как учитывать прерывания, ожидания ввода-вывода, узкие места в сети ...).Но это окупается.Вы просите здесь совета, но ВАШ компилятор / интерпретатор / генератор P-кода / все, что может быть установлено с помощью ТОГО переключателя в третьем слое ваших скриптов конфигурации.
Другое соображение, касающееся вашей текущей точки зрения:существование черных ящиков.Вы не одиноки в этом мире, и черный ящик - это любая часть, используемая для запуска вашего кода, которая, по сути, находится вне вашего контроля.Компиляторы, операционные системы, сети, системы хранения и мир в целом попадают в эту категорию.
То, что мы делаем с чёрными ящиками (они чёрные, либо потому, что их код не является общедоступным, либо потому, что мы просто используем нашу ловлю свободного времени вместо того, чтобы копать исходный код библиотеки), это создание ментальных моделей, чтобы помочь нам понятькак они работают(Кстати, - это необыкновенная книга о том, как мы, люди, создаем свои ментальные модели).Но вы всегда должны остерегаться, что они модели , а не настоящие.Модели помогают нам объяснить вещи ... в определенной степени.Классическая механика господствовала до тех пор, пока теория относительности и квантовая механика не растаяли.Ни одно из них не является неправильным У них есть ограничения , как и у всех наших моделей.
Даже если вам случается дружить с операционной системой вашего маршрутизатора или ядром Linux, когда вы сталкиваетесь с проблемой эффективностиПридумайте хороший эксперимент и измерьте .
HTH!
Примечание: под планируйте хороший эксперимент Я имею в виду остерегаться смоляных ям.Примеры: измерение вашего измерительного кода вместо цели эксперимента под влиянием внешних факторов, забывание внешних факторов, которые будут влиять на производственный код, тестирование с данными, мощность которых, ортогональность или что-либо подобное отличается от «реального мира»,неправильно отображая производственные и тестовые клиент-серверные рабочие лошадки и т. д. и т. д. и т.
Так что иди и измерить свой код.Ваши результаты будут самой интересной вещью на этой странице.