clojure-emacs / clojure-emacs/clojure-mode

Indent very slow

Aperta
#606 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
help wanted indentation
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.