[Hinweis] Java: Messen Sie die Geschwindigkeit der Zeichenfolgenverkettung

Einführung

Ich habe mich immer daran erinnert, dass es schneller ist, Zeichen vom Typ String mit dem StringBuilder-Anhang meines Vorgesetzten auf der vorherigen Site zu verketten, aber das Nachschlagewerk, das ich jetzt studiere, erwähnt dies auch. Also wollte ich üben, wie schnell es wirklich ist.

stringBuilderTest.java


public class StringBuilderTest {
    public static void main(String[] args) {

        String name = "";
        long start = System.currentTimeMillis();
        for(int i=1; i<=1000; i++){
            name += "tanaka, ";
        };
        long end = System.currentTimeMillis();
        System.out.println("+Verknüpfen: "+(end - start)  + "ms");

        StringBuilder sb = new StringBuilder();
        long start2 = System.currentTimeMillis();
        for(int i=1; i<=400000; i++){
            sb.append("tanaka, ");
        };
        String name2 = sb.toString();
        long end2 = System.currentTimeMillis();
        System.out.println("StringBuilder.Verkettung anhängen: "+(end2 - start2)  + "ms");
    }
}

Ergebnis.java


        +Verknüpfen: 24ms
        StringBuilder.Verkettung anhängen: 27ms

Wie Sie an der Häufigkeit sehen können, mit der die for-Anweisung gedreht wird, dauert es 1000 ms, um die Verkettung mit + 1000 Mal auszuführen, und die Verkettung zum Anhängen wird 400.000 Mal mit 27 ms ausgeführt. Auch wenn Sie es nur einige Male ausführen, sollten Sie bedenken, dass die vorherige Site auch die for-Anweisung in Einheiten von 10.000 gedreht hat.

Recommended Posts

[Hinweis] Java: Messen Sie die Geschwindigkeit der Zeichenfolgenverkettung
[Java] Geschwindigkeitsvergleich der Zeichenfolgenkombination
Punkt 63: Beachten Sie die Leistung der Zeichenfolgenverkettung
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Ermittelt die Länge der Ersatzpaarzeichenfolge
[Java] Der verwirrende Teil von String und StringBuilder
[Hinweis] Java: Zeichenfolgensuche
[Hinweis] Java: Zeichenkettenübersicht
[Hinweis] Java: Geschwindigkeit der Verarbeitung der Liste nach Zweck
Bitte beachten Sie die Aufteilung (Aufteilung) von Java Kotlin Int und Int
[Hinweis] Java Ausgabe der Summe von ungeraden und geraden Elementen
[Java] Versuchen Sie, die Elemente der Json-Zeichenfolge mithilfe der Bibliothek zu bearbeiten
[Java] Löschen Sie die Elemente von List
Verschiedene Methoden der Java String Klasse
[Java Edition] Geschichte der Serialisierung
Hinweis zum Pfad von request.getRequestDispatcher
Verschiedene Methoden der String-Klasse
[Hinweis] Behandlung von Java-Dezimalstellen
[Java] Korrekter Vergleich des String-Typs
Ich habe die Quelle von String gelesen
Der Ursprung von Java-Lambda-Ausdrücken
Umgang mit Java-Gleitkomma Beim Lesen des Nachschlagewerks [Hinweis]
Die Geschichte, das Verhalten von String durch Passieren von Java nicht zu kennen
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Holen Sie sich das Ergebnis von POST in Java
Java-Zeichenfolge
Überprüfen Sie den Inhalt des Java-Zertifikatspeichers
Untersuchen Sie die Speichernutzung von Java-Elementen
Anmerkung: [Java] Überprüfen Sie den Inhalt des Verzeichnisses
Vergleichen Sie Elemente eines Arrays (Java)
Grundkenntnisse in der Java-Entwicklung Schreiben von Notizen
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Was sind die aktualisierten Funktionen von Java 13
Messen Sie einfach die Größe von Java-Objekten
Rückblick auf die Grundlagen von Java
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
Ausgabe des Buches "Einführung in Java"
Die Geschichte des Schreibens von Java in Emacs
[Java] Überprüfen Sie die Anzahl der Zeichen
[Java] Überprüfen Sie, ob die Zeichenfolge nur aus Leerzeichen besteht (= Leerzeichen)
[Java] [Spring] Testen Sie das Verhalten des Loggers
Umgang mit Java-Gleitkomma Beim Lesen des Nachschlagewerks [Hinweis]
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList
String # split (String regex, int limit) Hinweis zu den Operationsspezifikationen des zweiten Arguments
[Java] Behandlung von Java Beans in der Methodenkette
JAVA: jar, aar, zeige den Inhalt der Datei an
Die Geschichte eines gewöhnlichen Othello in Java
[Android] [Java] Verwalten Sie den Status der CheckBox von ListView
Informationen zur Beschreibungsreihenfolge der Java-Systemeigenschaften
Über die Idee anonymer Klassen in Java
Die Reihenfolge der Java-Methodenmodifikatoren ist festgelegt
Vergleichen Sie die Geschwindigkeit der for-Anweisung und der erweiterten for-Anweisung.
[Java] Zugriff auf die signierte URL von s3 (signierte Version 2)
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Ich habe die Eigenschaften von Java und .NET verglichen
[Java] Achten Sie auf den Schlüsseltyp der Karte
Spüren Sie den Lauf der Zeit auch in Java
Berechnen Sie die Ähnlichkeitsbewertung von Zeichenketten mit JAVA