From dd895d0adaa691a078f18a95a7f5ac0eaf776cae Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 19 Apr 2016 15:24:38 -0700 Subject: [PATCH] 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 --- verifier.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/verifier.cpp b/verifier.cpp index 4004b022..f5299b4a 100644 --- a/verifier.cpp +++ b/verifier.cpp @@ -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);