diff options
| author | 2023-04-25 18:03:54 +0000 | |
|---|---|---|
| committer | 2023-05-22 22:42:19 +0000 | |
| commit | ee84727d9578548e48607b907c0cf1bc0551bfcc (patch) | |
| tree | 127951dafbdc5681aba6097b29c493a90c96e542 /java/system_modules.go | |
| parent | dabeb50e322fa5af0b6d4d031e907702e49837d4 (diff) | |
Do not modify input in-place
SortedUniqueStrings and FirstUniqueStrings dedupes repeating elements
and returns the deduped list. Currently, it also modifies the input list
in-place, which causes non-determinisitc failures like b/275313114
Operate on a copy of the input so that the input remains untouched.
SortedUniqueStrings is O(NlogN) and FirstUniqueStrings is ~O(N), so
creating a copy (O(N)) should not result in major performance regressions.
Numbers for this single unit test:
```
go test . -run TestStubsForLibraryInMultipleApexes -v -count 1000
Before: 174s
After: 172s
```
Bug: 275313114
Test: go test ./android
Test: go test . -run TestStubsForLibraryInMultipleApexes -v -count 1000
(cherry picked from https://android-review.googlesource.com/q/commit:8a8714c781175f8f1a6c189d919ee8b0ee8c1e27)
Merged-In: Id859723b2c2ebdc0023876c4b6fabe75d870bad7
Change-Id: Id859723b2c2ebdc0023876c4b6fabe75d870bad7
Diffstat (limited to 'java/system_modules.go')
0 files changed, 0 insertions, 0 deletions