:-)) You say compile, I say interpret - lets call the whole thing off.
It's both the same, really. The human-readable code has to be made machine-readable. A compiler will typically deposit the machine-readable result somewhere, a true interpreter discards it. There are very few real interpreters, simply because there are very few languages that are so horrendous as to require re-interpretation on every pass. JS is really quite good (with some exceptions, "eval" being an obvious one). Most JS is compiled when first encountered and the machine code can be re-used over and over again.
But I am sorry to hear that my suggestion did not manage to fix your problem. I thought of you today when per chance I moved a node in my tree. On the first time, it took an absolute age. After that, things were fine again...