@@ -0,0 +1,1412 @@
+/*%0A * Copyright 2000-2016 JetBrains s.r.o.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage com.intellij.openapi.editor;%0A%0Aimport com.intellij.openapi.editor.impl.AbstractEditorTest;%0Aimport com.intellij.openapi.util.text.StringUtil;%0Aimport com.intellij.testFramework.PlatformTestUtil;%0A%0Apublic class EditorMultiCaretPerformanceTest extends AbstractEditorTest %7B%0A  public void testTyping() throws Exception %7B%0A    int caretCount = 1000;%0A    int charactersToType = 100;%0A    String initialText = StringUtil.repeat(%22%3Ccaret%3E%5Cn%22, caretCount);%0A    initText(initialText);%0A    PlatformTestUtil.startPerformanceTest(%22Typing with large number of carets%22, 70000, () -%3E %7B%0A      for (int i = 0; i %3C charactersToType; i++) %7B%0A        type('a');%0A      %7D%0A    %7D).cpuBound().attempts(1).assertTiming();%0A    checkResultByText(StringUtil.repeat(StringUtil.repeat(%22a%22, charactersToType) + %22%3Ccaret%3E%5Cn%22, caretCount));%0A  %7D%0A%7D%0A

add a performance test for typing with multiple carets