DogLooksGood / parinfer-mode

Parinfer for Emacs :)
GNU General Public License v3.0
407 stars 33 forks source link

Poor performance with long lists #59

Closed ogdenwebb closed 6 years ago

ogdenwebb commented 6 years ago

Huh, finally I got it. Well, my Emacs package contains ~500 LOC list with face specs here, but when I try to put something at the end of file parinfer causes 1-2 seconds delay before I can see anything in the current buffer. Works fine if I have list with 100 or maybe 200 LOC.

Tested with completely clear Emacs configuration(only parinfer installed) and also with the two other packages(doom-themes and gruvbox) similar to mine.

GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.19) of 2018-02-12 Parinfer installed from MELPA, parinfer-20180214.1040. Default config for use-package taken from README.md.

DogLooksGood commented 6 years ago

Hi, yes, parinfer-mode has bad performance.

The solution is: now, a new version rewriting is under branch smart , file parinfer-smart.el.

New version ships smart mode and have much better performance, also some wired bugs will be fixed hopefully. This new version, on my MBP 2015, takes about 30ms ~ 70ms when process 2900 LOC(current version cost 1000ms). It's about 15x faster than the current version.

At this moment, if you want to try on new version, try this: https://github.com/DogLooksGood/parinfer-mode-demo.

Close issue since there's no plan to improve the performance of current version.