Производительность ProGuard. Ускорит ли ProGuard мое программное обеспечение?

Есть ли у кого-нибудь опыт использования ProGuard, и есть ли уже измерения производительности приложения помимо времени загрузки класса?

У меня есть довольно сложное приложение, которое может нуждаться в ускорении, но подготовка его для ProGuard займет несколько дней, поэтому я хотел бы услышать некоторые мнения перед этим.


person Daniel    schedule 09.06.2011    source источник
comment
Если производительность вашего программного обеспечения является проблемой, профилирование и последующая оптимизация узких мест обеспечат гораздо больший прирост производительности, чем Proguard.   -  person Rich    schedule 09.06.2011
comment
Хорошо, спасибо за все ответы. Тогда я пока не буду проводить время с этим инструментом.   -  person Daniel    schedule 10.06.2011


Ответы (3)


Основное преимущество, исходя из нашего опыта, заключается в том, что он может защитить ваши интеллектуальные права. Что касается времени загрузки класса, мы не обязательно видим какую-либо выгоду, а если и видим, то она незначительна.

Еще одна вещь: мы видели проблемы, когда это может негативно повлиять на ваш код. Обязательно протестируйте свое приложение после использования ProGuard.

person tjg184    schedule 09.06.2011

Большинство оптимизаций байт-кода, которые делает ProGuard, выполняются так же хорошо или даже лучше JIT любой основной JVM, поэтому для них не следует ожидать значительных улучшений (за исключением загрузки классов).

person Michael Borgwardt    schedule 09.06.2011

Я могу только предположить. За: запутанные и более короткие имена методов/имена полей делают его немного быстрее при проверке байтового кода, загрузке классов и интерпретируемом режиме. Минусы: как только он заработает некоторое время, он будет более или менее скомпилирован jit, и в этот момент это уже не будет иметь значения.

person Angel O'Sphere    schedule 09.06.2011