Fork me on GitHub
#emacs
<
2016-03-28
>
peeja15:03:29

Certain commands in my setup (mostly helm commands) have become really slow. Anyone know a good way to start debugging/profiling?

dkee17:03:49

I'd like to have project-specific indenting configuration. I see that I could put something like ((nil . ((eval . (define-clojure-indent ,,,))))) in a .dir-locals.el file, but that requires me to 1) interactively okay the call to eval, 2) change my init.el to allow this specific eval form, or 3) change my init.el to allow any eval form

dkee17:03:20

1) seems the least evil to me, but is there a better way? Is there a safe variable I can be customizing for indenting?

malabarba19:03:00

@peeja profiler-start and later profiler-report

malabarba19:03:46

@dkee in that situation I would use 1)

malabarba19:03:19

If you reply to the question with !, Emacs won't ask you again.

dkee19:03:58

but then it modifies your init.el correct?

dkee19:03:53

i'm sticking with 1) for the time being, but i'd like to avoid having this project-specific info added to my init.el, so I'll just keep interactively okaying the eval. 😛 thanks!

malabarba19:03:37

Yes, it does.

malabarba19:03:46

You can set your custom file to a different to be separate from your init file if you prefer. But it definitely needs to save that information somewhere.

dkee19:03:16

ah, that sounds like a good idea, i'll do that. thanks!

peeja20:03:15

In a profile-report, is there a way to track down what function is represented by a line like #<compiled 0x402f7a01?

peeja20:03:41

My kill-buffer is launching a deeply recursive call stack, and I'm not sure what it's doing. https://gist.github.com/Peeja/7e24c3f7cc761faea08b

malabarba23:03:29

@peeja: You can try visiting some helm files and calling load-buffer on them. This will redefine the functions with non-compiled definitions. (you can then recreate the report). Looking at your report, you can start with the file where helm-flx-fuzzy-highligher is defined.

malabarba23:03:44

Note that, since the functions will no longer be byte-compiled, some things might be slower and it might skew your reports.