Просмотр встроенных функций Java
Прежде всего, я знаю, что есть несколько вопросов о "Java inline". Но они все о том, как компилятор или JVM встраивают вызовы функций. Я заинтересован в том, чтобы сделать это сам или создать для него какой-то вид. Я хочу определить вызов функции класса, и хочу видеть все встроенным. Каждый вызов метода должен быть встроенным. Я не уверен, как справиться с созданием новых объектов, но это не так важно.
Целью является ручная оптимизация, т.е. если параметр слишком часто проверяется на соответствие null
, Есть ли инструмент для чего-то подобного? Я бы предпочел GUI, но для этого достаточно и какого-либо инструмента командной строки, в котором я могу указать функцию класса, и она где-то выводит некоторый текст.
РЕДАКТИРОВАТЬ:
Для уточнения:
Сегодня я утверждал, чтобы использовать NullObjectPattern
, потому что некоторые защищаются от нуля везде. Это делает код нечитаемым и нечистым. Мне это не понравилось, и я хотел иметь какой-то инструмент, чтобы показать им, как часто они на самом деле снова и снова проверяют один и тот же параметр на ноль.
1 ответ
Как было сказано: не угадайте, особенно если вы не знаете, что будет делать JIT-компилятор после того, как код будет работать некоторое время. Вы можете тратить бесконечное время на бесконечное улучшение чего-то, что составляет 1% времени выполнения и сэкономить только 1%, или вы можете потратить короткое время на улучшение на 10% того, что составляет 20% времени выполнения и сэкономить 2%; последний, безусловно, лучший выбор.
Чтобы определить, что стоит улучшить, нужно правильно профилировать код после того, как он полностью прогрелся.
И то, как вы получаете значительное улучшение, обычно связано с улучшенными алгоритмами, а не с микротюнингом отдельных инструкций.