grpc / grpc/grpc-java

Determine whether we should drop dependency on ByteStreams

Offen
#6,266 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
12.1k
Forks
4k
Ø Merge
2 T. 17 Std.
Gemergte PRs (30 T.)
37

Beschreibung

We purposefully avoided com.google.io for Android, which is why IoUtils existed. I'm not sure if anything there has changed, but #5834 started using com.google.io. ByteStreams pulls in a bit more code that would initially be expected and maintaining IoUtils was trivial. There is some potential performance gains (memory usage and CPU) to be had by ByteStreams, because it uses shards that are combined at the end vs one contiguous chunk of ByteArrayInputStream.

From #5834 we see that using ByteStreams added .5K and 14 methods. That's not much, but simultaneously seems a bit much for limited gain.

This came up as ByteStreams.toByteArray was noticed by a Google-internal Android checker for some related code. (cl/272629838)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der Überprüfung von #5834 und der Verwendungen von ByteStreams.toByteArray zusammen mit IoUtils im Android-bezogenen Code. Vergleiche die hinzugefügte Codegröße und die Methoden mit den hier beschriebenen potenziellen Speicher- und CPU-Vorteilen. Als abgeschlossen gilt, eine begründete Entscheidung darüber festzuhalten, ob die ByteStreams-Abhängigkeit entfernt werden sollte.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
mobile
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.