Fork me on GitHub
#cursive
<
2017-06-09
>
rauh06:06:52

@cfleming Really difficult to figure out what's causing this. I think I was on a few EAP's past the 1.5.0 and didn't have the issue at all. Then boom, all in a sudden it's super slow and almost unusable. The ticket you linked seems to be my issue as well. I found that simply going over a local symbol (so it gets highlighted) and then moving the cursor over a function (global symbol) and repeating this back and forth will eventually spin the CPU to 200%. I see editor.cljs.editor_resolver.resolve_unqualified and resolve_normal_symbol very high in a CPU profile.

cfleming08:06:33

@rauh So this is CLJS, or CLJC?

cfleming08:06:48

Are you on IntelliJ Ultimate?

cfleming08:06:36

Could you capture a snapshot with Tools-&gt;Start CPU Usage Profiling?

rauh08:06:57

Yeah, currently it works for me. Downgraded to 1.5.0-eap1. I'll profile when it acts up again

cfleming08:06:30

Great, thanks. I’ve had a couple of snapshots from the others in that issue, but never found anything conclusive (or really, anything to suggest that it’s Cursive, although it seems like it must be).

cfleming09:06:15

@rauh Did you manage to get it going?

rauh09:06:15

Yeah, but right now the problem is pretty much gone. I also upgrade to the latest version of Cursive again. So it doesn't seem to have been introduced by Cursive recently.

cfleming09:06:30

It’s really weird.

rauh09:06:46

I also did disable all plugins. I'm not sure if that did it. I'm hesitant to binary search them.

rauh09:06:06

Disable all "custom plugins" ie. Not that I had many.... Like 2-3

cfleming09:06:20

Yeah, it might be some interaction with another plugin, it’s hard to tell - that would explain why I can’t reproduce it, though.

cfleming09:06:37

I’m pretty sure nothing that should dramatically affect editing perfomance has changed in a while though.

rauh09:06:44

It is really weird, and it was incredibly frustrating. I'm just too scared to make it not-work again 😄

cfleming09:06:56

Yeah, I understand 🙂

cfleming09:06:10

Although if it is another plugin at least disabling it should work.

cfleming09:06:36

Actually, which were the plugins you disabled? Perhaps I’ll install them and see if I see any problems.

cfleming09:06:16

I’ve found that my IntelliJ locks up a lot recently, but I haven’t worried about it since I’m running an EAP and debug a lot, which makes things funky.

rauh09:06:29

I'm enabling them right now to see if the problem comes back up. The plugins: Gauge, String manipulation, YAML, Bash

cfleming09:06:01

Thanks, I’ll install those on Monday and see if I can see the problem.

rauh09:06:24

@cfleming So super weird, but if I go over the .-a in (.-a xy) it'll lock up for a few seconds

rauh09:06:40

Any other work fine. Like:

(combine-cmp
    (cmp-num (.-e d1) (.-e d2))
    (cmp-attr (.-a d1) (.-a d2))
    (cmp-val (.-v d1) (.-v d2))
    (cmp-num (.-tx d1) (.-tx d2)))

cfleming09:06:50

You mean that if you put the caret there so it gets highlighted?

rauh09:06:56

All .-e, v, tx, are ok to hover 😉

rauh09:06:10

It just locks up. Never gets highlighted

cfleming09:06:35

Do you have anything interesting in your log? Help-&gt;Show log in Finder/Explorer?

rauh10:06:48

PM'd a log file. There is a few interesting exceptiions.

cfleming10:06:25

Thanks, it doesn’t look like anything that would cause this though.

cfleming10:06:54

Someone reported a while ago that CLJS interop provoked problems for them - I wonder if that is the issue.

cfleming10:06:01

It might be my JavaScript indexing.

cfleming10:06:23

When you say it locks up, you mean the whole UI?

rauh10:06:08

Yeah can't move the Cursor

cfleming10:06:01

And PM them to me if they’re there?

cfleming10:06:20

I PM’ed you some lines from your log - it looks to me like there might be an issue with the auto-indent detection. You could try disabling that at Settings-&gt;Editor-&gt;Code Style-&gt;Detect and use existing file indents

rauh10:06:25

I got some of these automatic dumps

cfleming10:06:38

Great, actually email would probably be better

cfleming10:06:47

So they don’t disappear

cfleming10:06:34

Ok, there is definitely something funky going on with the JS indexes.

cfleming10:06:02

Did you try Invalidate/Restart?

cfleming10:06:32

That might help, and the code style thing might help as well, although try the invalidate first since funky indexes might cause that too.

rauh10:06:46

I did yesterday, didn't help. But I'll try again. The detect indent disabling didn't seem to help.

cfleming10:06:19

Ok. I’ve been planning to rewrite that indexing, perhaps I need to move that up if it’s possibly the cause of all this.

rauh10:06:58

Hmm yeah, invalidate & restart didn't help.

cfleming10:06:10

Ok. I’ll take a look at that index on Monday. I’ve been meaning to look at it anyway since it’s old and crufty.

bherrmann11:06:56

Humm. I was asked how many clojure developers are there. @cfleming do you know how many active cursive accounts there are (aka I assume something checks for updates everyso often) - so you must know the # of active users...

bherrmann11:06:47

If I assume 1/2 of all active users are using cursive, then I just have to multiply by 2 to get a rough estimate of total active clojure developers

bfabry17:06:41

iirc cursive was more like 25% of users in the last state of clojure survey

bherrmann18:06:18

@bfabry Thanks. I had also asked in the "clojure" group and Alex Miller said "based on a number of sources of data, I would confidently say it’s between 20k and 50k" and "it matters a lot what you mean by “active”"