Investigate performance of delegating `yield` in tree traversals
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Refactoring
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java, python, typescript
- Bereich
- performance
Rechercherichtung
Die Issue nennt keine Dateien, Tests oder Einstiegspunkte; beginne damit, die Implementierungen der Baumdurchläufe zu finden, die ihre eigenen Stacks verwalten. Führe für diese Versionen Benchmarks im Vergleich zu rekursiven Baumdurchläufen mit TypeScript yield*, Python yield from und Java Stream.concat durch und berichte, ob die Performance vergleichbar ist und welche Implementierung bevorzugt werden sollte.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
It would be really cool if we could use yield* (TypeScript) and yield from (Python) or perhaps even Stream.concat (Java) in the tree traversal goodies to write the traversals recursively -- the code would read very naturally. However, I'm not sure about the performance implications of doing so.
Let's investigate the performance of these relative to the implementations that manage their own stack. If the recursive implementation is comparable in performance, then I think it should win on the grounds of the code being much nicer.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 20
- Forks
- 12
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus code-chronicles-code/leetcode-curriculum
-
enhancement kotlin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
good first issue tests
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
Add tests for `swap` utilityEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offengood first issue tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
-
good first issue tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
code-chronicles-code/leetcode-curriculum#418 · 1 Kommentar ·
Alle Issues in code-chronicles-code/leetcode-curriculum
Ähnliche Issues
-
enhancement
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 80/100
alunduil/projects-v2-sync#21 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
enhancement minor
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
testcontainers/testcontainers-node#1539 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
christopher-buss/eslint-plugin-flawless#72 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
openwatersio/slackwater-database#281 ·
Maintainer antworten meist innerhalb von 1 Tag