Evaluating expression of large objects from the debug console is extremely slow
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python, typescript, vscode
- Domínio
- developer-experience, devtools
Direção de pesquisa
Comece com a reprodução em test.py e a avaliação de len(d) no console de depuração; em seguida, rastreie o caminho de resolução de valores do depurador que emite o aviso sobre repr lento. Compare a avaliação de len(d) com a inspeção direta do objeto e identifique onde a representação é calculada desnecessariamente. A tarefa estará concluída quando a avaliação do comprimento de objetos grandes não incorrer mais no atraso de repr e o comportamento estiver coberto por um teste de regressão.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I'm seeing an issue that apparently hasn't been reported yet. I have a fairly large dictionary in memory and when I want to get its length from the debug console it takes tens of seconds. Obviously, getting the repr of the dict takes that much time but I only want to get its length.
Code to reproduce:
from unittest import TestCase
from collections import defaultdict
import numpy as np
from types import SimpleNamespace
class MyTest(TestCase):
def test_large_defaultdict(self):
d = defaultdict(lambda: defaultdict(list))
for k in 'abcdef':
for l in 'ghijk':
for i in range(10000):
d[k][l].append(SimpleNamespace(
key = k,
cycle = np.arange(20),
value = np.zeros(20)
))
pass
Set breakpoint on pass and try to evaluate len(d) from the debug console after the breakpoint is hit. This warning is printed in the console:
pydevd warning: Computing repr of d (defaultdict) was slow (took 42.36s)
Customize report timeout by setting the `PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT` environment variable to a higher timeout (default is: 0.5s)
Yes, it is slow but why is repr called to print the number of items?
- Linguagem predominante
- TypeScript
- Estrelas
- 181
- Forks
- 126
- Merge médio
- 8h 49min
- PRs com merge (30d)
- 1
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/vscode-python-debugger
-
triage-needed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
microsoft/vscode-python-debugger#1110 ·
Mantenedores costumam responder em até 1 dia
-
triage-needed
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
microsoft/vscode-python-debugger#1024 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Update dependencies with actionable security alertsTalvez já em andamento @copilot-swe-agent assumiu há 9 dias. Abertatriage-needed
microsoft/vscode-python-debugger#1111 · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Update vulnerable npm dependenciesTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertatriage-needed
microsoft/vscode-python-debugger#1104 · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
triage-needed
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 58/100
microsoft/vscode-python-debugger#1095 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
Todas as issues de microsoft/vscode-python-debugger
Issues semelhantes
-
module-request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
ports get and web print 'Port N already in use, trying next...' for every busy port they skipAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
appandflow/stim#1604 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
lingdojo/kana-dojo#31060 · 1 comentário · 5 reações ·
Mantenedores costumam responder em até 1 dia
-
SSH workspace restore rewrites relative symlinks into the deleted sync-back staging directoryAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
paperclipai/paperclip#14173 ·
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia