Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

proguard vs redex by facebook - pros and cons

I don't see any statistics given by facebook on why redex is any better than using proguard. Could anyone list the pros and cons? Apparently, redex is supposed to make Android run faster. There is a poor article http://www.i-programmer.info/news/80-java/9034-facebooks-redex-makes-android-more-efficient.html

like image 861
j2emanue Avatar asked Oct 25 '15 19:10

j2emanue


1 Answers

How about getting it from the horse's mouth? redex on github

Just in case the link breaks in the future:

How does this compare to ProGuard?

ReDex is conceptually similar to ProGuard, in that both optimize bytecode. ReDex, however, optimizes .dex bytecode, while ProGuard optimizes .class bytecode before it is lowered to .dex. Operating on .dex is sometimes an advantage: you can consider the number of virtual registers used by a method that is an inlining candidate, and you can control the layout of classes within a dex file. But ProGuard has many capabilities that ReDex does not (for example, ReDex will not remove unused method parameters, which ProGuard does).

In our opinion, comparing ReDex and ProGuard is a bit apples-and-oranges, since we have focused on optimizations that add value on top of ProGuard. We use both tools to optimize the Facebook app. Our reported performance and size improvements (about 25% on both dex size and cold start time) are based on using ReDex on an app already optimized with ProGuard. We have no plans to measure performance without ProGuard.

like image 126
Miao Liu Avatar answered Oct 04 '22 19:10

Miao Liu