Investigate performance effects of current structure
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Refactoring
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- opencv, python
- Bereich
- computer-vision, performance
Rechercherichtung
Beginne damit, die aktuellen Implementierungen von VideoReader, LockedCamera und LockedScreen zu lokalisieren, und vergleiche sie mit gleichwertigen Klassen, die cv2.VideoCapture direkt verwenden. Vergleiche die relevanten Operationen unter denselben Bedingungen; abgeschlossen ist die Aufgabe, wenn der Performanceunterschied quantifiziert und der Bedarf an strukturellen Änderungen oder Nutzungshinweisen dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Motivation:
Every convenience comes at a cost, but quantifying the cost makes it possible to determine whether it's "too expensive".
Suggested Method
Currently use a combination of inheritance and composition, which make modification and new base classes really simple to implement and use, but may come at a performance cost. Would be good to quantify the difference between the current situation and e.g. the 'best-case' performance of VideoReader, LockedCamera, and LockedScreen being implemented with cv2.VideoCapture as their direct parent class.
Possible Resulting Changes
If performance difference is significant, it may be worth
- making a code-generator that can trade off some program memory for the benefit of fewer function calls at each step
- changing code structure (hard to recommend - very versatile at the moment, and repetition is a 'bad smell')
- recommending this library for rapid development, and more optimised code once development is complete (e.g. lower level looping, or just C++ implementation)
- Vorherrschende Sprache
- Python
- Sterne
- 45
- Forks
- 3
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
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 ES-Alexander/pythonic-cv
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
ES-Alexander/pythonic-cv#21 · 1 Kommentar ·
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
ES-Alexander/pythonic-cv#14 ·
-
enhancement good first issue
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
ES-Alexander/pythonic-cv#12 ·
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 45/100
ES-Alexander/pythonic-cv#11 ·
-
Missing names file from installed versionEvtl. wieder frei @ES-Alexander hat das vor 2185 Tagen übernommen, und es ist kein Pull Request offen. Offeninvalid
ES-Alexander/pythonic-cv#8 · 1 Kommentar · 1 zugewiesene Person ·
Alle Issues in ES-Alexander/pythonic-cv
Ähnliche Issues
-
python-version
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug javascript P2-medium python release:v3.1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
adrirubio/claude-deck#546 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: desktop area: website priority: P2 type: feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
appandflow/stim#3411 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
baptistehamon/lsapy#185 ·
Maintainer antworten meist innerhalb von 1 Tag