Decrease OTA package verification times further.
Timing from Nexus 5X:
89 MiB OTA update package: 1.4 s -> 0.6 s (decreased by 57%)
1196 MiB OTA update package: 8.0 s -> 7.5 s (decreased by 6%)
Bug: http://b/28135231
Change-Id: Id91f2ad15df2bffb9f8a4b4ec5a57657a02847ec
This commit is contained in:
@@ -206,10 +206,10 @@ int verify_file(unsigned char* addr, size_t length,
|
||||
double frac = -1.0;
|
||||
size_t so_far = 0;
|
||||
while (so_far < signed_len) {
|
||||
// On a Nexus 9, experiment didn't show any performance improvement with
|
||||
// larger sizes past 1MiB, and they reduce the granularity of the progress
|
||||
// bar. http://b/28135231.
|
||||
size_t size = std::min(signed_len - so_far, 1 * MiB);
|
||||
// On a Nexus 5X, experiment showed 16MiB beat 1MiB by 6% faster for a
|
||||
// 1196MiB full OTA and 60% for an 89MiB incremental OTA.
|
||||
// http://b/28135231.
|
||||
size_t size = std::min(signed_len - so_far, 16 * MiB);
|
||||
|
||||
if (need_sha1) SHA1_Update(&sha1_ctx, addr + so_far, size);
|
||||
if (need_sha256) SHA256_Update(&sha256_ctx, addr + so_far, size);
|
||||
|
||||
Reference in New Issue
Block a user