Open piotrtomiak opened 1 year ago
The LookaheadText.testFromPosition depends on String.subSequence which actually copies the content over to a new array:
LookaheadText.testFromPosition
String.subSequence
As a result during 15s of indexing, even 1.7GB of data can be allocated. You can check it out by profiling indexing of https://github.com/JetBrains/ring-ui/tree/master in WebStorm.
It seems that it would be best to use something similar to com.intellij.util.text.CharSequenceSubSequence to save a lot on memory allocations.
com.intellij.util.text.CharSequenceSubSequence
https://youtrack.jetbrains.com/issue/IDEA-320694
The
LookaheadText.testFromPosition
depends onString.subSequence
which actually copies the content over to a new array:As a result during 15s of indexing, even 1.7GB of data can be allocated. You can check it out by profiling indexing of https://github.com/JetBrains/ring-ui/tree/master in WebStorm.
It seems that it would be best to use something similar to
com.intellij.util.text.CharSequenceSubSequence
to save a lot on memory allocations.