clojure-emacs / clojure-emacs/clojure-mode
Indent very slow
- Lingua principale
- Emacs Lisp
- Stelle
- 1k
- Fork
- 249
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
*Use the template below when reporting bugs. Please, make sure that
you're running the latest stable clojure-mode and that the problem you're reporting
hasn't been reported (and potentially fixed) already.*
**Please, remove all of the placeholder text (the one in italics) in your final report!**
## Expected behavior
Fast
## Actual behavior
Slow
## Steps to reproduce the problem
Indent about a 1000 lines with little nesting.
After using the profiler, I determined that I can set `clojure-use-backtracking-indent` to nil and get a nice speedup of about 90%. I don't know what it does ("When non-nil, enable context sensitive indentation."??) - Still its too slow and takes more than a second. My machine is not the fastest, but 2 Ghz should suffice to indent a few pages of text in less than a second in a text editor.
*This is extremely important! Providing us with a reliable way to reproduce
a problem will expedite its solution.*
## Environment & Version information
### clojure-mode version
5.13.0
*Include here the version string displayed by `M-x
clojure-mode-display-version`. Here's an example:*
```
clojure-mode (version 5.2.0)
```
### Emacs version
*E.g. 24.5* (use C-h C-a to see it)
26.3
### Operating system
*E.g. Windows 10*
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia profilando l'indentazione di circa 1.000 righe con clojure-use-backtracking-indent abilitato, quindi confrontala con l'impostazione nil descritta nel report. Analizza il punto di ingresso dell'indentazione di clojure-mode e conferma che la correzione consenta a questa riproduzione di completarsi in meno di un secondo senza perdere il comportamento sensibile al contesto previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- clojure, emacs-lisp
- Ambito
- performance, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100