Skip to content
Commit a2b20c1b authored by William Loh's avatar William Loh
Browse files

Improve package parser validation performance

Minimize the regression to the Package Parser with the addition of
the validator by removing the validation in ApkLite to prevent
validation of the manifest twice during installs. The overall manifest
tag limit check was also removed since the child tag limits already
effectively prevents excessive tag exploits. The mTagCounters HashMap
performance also had a relatively large performance impact in the
regression. To minimize this, the hashmap is replaced with a switch
statement and bitmask.

For comparison, the mean parsing time measured from
PackageParsingPerfTest#parallelNoCache runs on a lynx-userdebug build
shows that the regression has been improved to ~9%. The measured times
are:
    old validation    465069440
    new	validation    412830497
    no validation     376371320

Bug: 289190523, 267185315
Test: atest PackageParsingPerfTest
Test: atest AndroidPackageParsingValidationTest
Change-Id: I3e0954278254ddeb1ec18d00e4f2d0afec0d9954
parent ba5f22b0
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment