Определение эффективности кэша процессора кода C - PullRequest
1 голос
/ 01 декабря 2010

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

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

Кроме того, я бы (очень) предпочел, чтобы программное обеспечение было для Mac OS X / Unix.

Спасибо!

1 Ответ

3 голосов
/ 01 декабря 2010

Существуют различные профилировщики, которые могут захватывать профили на основе пропусков кэша в качестве альтернативы выборке на основе регулярных временных интервалов.Это даст вам представление о том, где в вашей программе вы не используете кеш эффективно.В Mac OS X посмотрите Shark (бесплатно - часть пакета инструментов CHUD).В Linux попробуйте Zoom (коммерческий, но есть бесплатная 30-дневная ознакомительная лицензия).

...