Comments 4
> Из-за сильной конвейеризации современных процессоров такой профиль может ошибаться, и часто имеет смысл смотреть не только на инструкцию, которая считается горячей, но и на предыдущую.
Это абсолютно непредсказуемый фактор или все-таки есть какой-то набор «известных» инструкций о которых профайлер спотыкается? Было бы классно, чтобы профайлер это как-то учитывал и намекал пользователю.
Это абсолютно непредсказуемый фактор или все-таки есть какой-то набор «известных» инструкций о которых профайлер спотыкается? Было бы классно, чтобы профайлер это как-то учитывал и намекал пользователю.
0
Проблема не только в конкретных инструкциях. Есть еще skid, который происходит из-за того, что прерывание срабатывает не мгновенно, зависимости по данным, от которых зависит глубина конвейеризации и влияние того, где находятся эти данные (L1-кэш, L2, ...).
Очень много микро-архитектурных эффектов, которые, как мне кажется, почти невозможно предусмотреть и которые меняются от процессора к процессору. Поэтому это скорее непредсказуемый фактор, который очень тяжело учесть в профайлере
0
Sign up to leave a comment.
Как устроен dtraceasm в JMH