benchmark representing async-heavy, heterogeneous workload
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 30/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- performance
Piste de recherche
Commencez par examiner les benchmarks asynchrones existants dans pyperformance et comparez le comportement de leurs coroutines avec la charge de travail hétérogène et fortement marquée par les changements de contexte décrite ici. Définissez un benchmark représentatif et établissez comment il doit être exécuté et mesuré ; le travail est considéré comme terminé lorsque la charge de travail est ajoutée à la suite et produit des résultats comparables des performances de l’interpréteur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
context: Recently I set about trying to find a faster Python interpreter for my async app, which has a high rate of context switching, many coroutines, and each coroutine running different code. I found that the app runs 2x slower on PyPy, and 20% faster on Pyston-full. One reason may be that a tracing JIT will naively trace across context switches, such that a given trace will never be repeated, due to arbitrary occurrence and ordering of coroutine resumes.
There really seems to be nothing in the benchmark world that represents this kind of async workload-- which, by the way, I expect to become more popular with time. The current async benchmarks in pyperformance have nothing like this-- the coroutines are trivial and homogenous.
It's concerning that the Pyston full fork is being retired, while PyPy blindly continues as if everything's OK, and faster-python proceeds at a furious pace-- all without evaluating a workload that is significant today, and may become more so in the future.
- Langage dominant
- Python
- Étoiles
- 1k
- Forks
- 203
- Merge moyen
- 1 h 20 min
- PR mergées (30 j)
- 2
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python/pyperformance
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
python/pyperformance#346 · 3 commentaires ·
-
python/pyperformance#474 · 4 réactions · 1 personne assignée ·
-
Enable decimal benchmarks Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
python/pyperformance#473 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
python/pyperformance#464 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
python/pyperformance#460 · 2 commentaires · 1 réaction ·
Toutes les issues de python/pyperformance
Issues similaires
-
Add: hunch Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
DiamondLightSource/dodal#2211 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
openml/openml-python#1749 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
sipyourdrink-ltd/bernstein#6191 ·