-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEjemploStringTestRendimientoConcat.java
More file actions
39 lines (31 loc) · 1.47 KB
/
EjemploStringTestRendimientoConcat.java
File metadata and controls
39 lines (31 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class EjemploStringTestRendimientoConcat {
public static void main(String[] args) {
//comparacion de velocidades de diferentes modos de concatenacion
String a = "a";
String b = "b";
String c = a;
StringBuilder sb = new StringBuilder();
long inicio = System.currentTimeMillis();
for (int i = 0 ; i < 10000; i++){
//c += a + b + "\n"; 100 => 7ms
//c = c.concat(a).concat(b).concat("\n"); 100 => 0 ms
//sb.append(a).append(b).append("\n"); 100 => 0 ms
//c += a + b + "\n"; 1000 => 9ms
//c = c.concat(a).concat(b).concat("\n"); 1000 => 1 ms
//sb.append(a).append(b).append("\n"); 1000 => 0 ms
//c += a + b + "\n"; 10000 => 38 ms
//c = c.concat(a).concat(b).concat("\n"); 10000 => 72 ms
//sb.append(a).append(b).append("\n"); 10000 => 1 ms
}
long fin = System.currentTimeMillis();
System.out.println(c);
System.out.println(sb);
System.out.println("Temporizador: "+(fin - inicio)+ "ms");
/*
* Como se puede observar, el método de concatenación más eficiente es StringBuilder.
* Aunque concat() suele ser más rápido que '+' en ciclos pequeños,
* en ciclos grandes concat() puede volverse más costoso,
* mientras que StringBuilder mantiene un rendimiento estable y eficiente.
*/
}
}