Я использую dotTrace для профилирования компилятора, который имеет некоторые проблемы с производительностью. Будучи компилятором, стек вызовов сильно рекурсивен, а сворачивание в виде дерева вызовов обычно приводит к тому, что вещи становятся еще более запутанными чаще, чем нет.dotTrace: Кто вызывает мой метод?
Когда я сортирую представление Plain List по собственному времени, я обнаружил, что определенный метод использует большую часть времени выполнения. Глядя на код, я не могу сделать этот способ быстрее, но я считаю, что добавление некоторой memoization может сделать это, поэтому его не нужно вызывать почти так же часто. Проблема в том, что у меня есть время выяснить, где ее добавить.
Когда вы нажимаете на метод в верхней панели в представлении Plain List, он показывает методы, которые этот метод вызывает в нижней панели, что является полезным, но, насколько я могу судить, это не дает вам гораздо более полезная информация , какие методы называют этот метод. Есть ли способ получить статистическую информацию об этом, поэтому я знаю, где сосредоточиться на добавлении memoization?
Awesome, спасибо! Это показывает, что 96% звонков поступают из одного конкретного места, поэтому теперь я знаю, где сосредоточиться на ... –
После добавления заметок это уменьшило время выполнения всего цикла компиляции более чем на 50%, поэтому еще раз спасибо! –