1
00:00:00,270 --> 00:00:06,510
Continuamos con un ejemplo de análisis y de prueba para testear cuánto se demora y saber bien cuál es

2
00:00:06,510 --> 00:00:08,400
la diferencia entre los distintos tipos.

3
00:00:08,400 --> 00:00:09,000
Concatenación.

4
00:00:09,030 --> 00:00:13,680
Por ejemplo, cuando concatenados con el signo más un streeck, cuando concatenados usando el método

5
00:00:13,680 --> 00:00:19,650
con CAT o bien utilizando la clase String Builder, que serían tres alternativas, tres formas y vamos

6
00:00:19,650 --> 00:00:23,640
a usar una u otra dependiendo el escenario, el contexto.

7
00:00:23,800 --> 00:00:24,960
Trobbiani eso lo vamos a ver ahora.

8
00:00:25,050 --> 00:00:29,770
Entonces, la idea de implementar un ejemplo para poder probar el rendimiento con cada una.

9
00:00:29,790 --> 00:00:32,220
Esta forma vamos a cerrar todas las clases que tenemos.

10
00:00:32,670 --> 00:00:34,140
Vamos a crear una nueva clase.

11
00:00:34,260 --> 00:00:35,640
Vamos a copiar ejemplos.

12
00:00:35,640 --> 00:00:38,420
Trincó que atención lo pegamos acá.

13
00:00:38,880 --> 00:00:41,490
Ese reset, como siempre ejemplo es Trunk.

14
00:00:44,110 --> 00:00:47,560
Rendimiento con.

15
00:00:48,610 --> 00:00:55,420
Ejemplo trinquetes, rendimiento con cata de concatenación refractor, la musiquita, todo esto.

16
00:00:58,180 --> 00:01:02,140
Vamos a definir tres trinquen a igual A,

17
00:01:06,930 --> 00:01:07,080
B

18
00:01:10,110 --> 00:01:12,530
y C a igual al estreno.

19
00:01:12,690 --> 00:01:20,010
A. b., A. b. y C es igual a al objeto A. A la referencia tanto C es a.

20
00:01:20,980 --> 00:01:27,220
Entonces la idea es implementar una iteración, un loop, un for y por ejemplo, concatenar unas 100

21
00:01:27,220 --> 00:01:32,940
veces o quinientas veces un contenido, un texto y ver cuánto se demora en cada una de las formas.

22
00:01:33,150 --> 00:01:40,390
Y tengo que tomar un tiempo inicial y un tiempo final y calcular el tiempo total en tiempo inicial.

23
00:01:42,070 --> 00:01:48,920
Vamos a calcular el tiempo en milisegundos, pero es super simple porque la clase System de Java ya

24
00:01:48,940 --> 00:01:50,560
contiene el tiempo actual.

25
00:01:50,740 --> 00:01:52,480
El carrón time milisegundo.

26
00:01:53,640 --> 00:01:56,690
Que retorna un tipo loncco un tipo numérico.

27
00:01:56,870 --> 00:02:04,350
Esta fecha es un entero milisegundo entre la fecha actual y la fecha de enero primero enero de menos

28
00:02:04,420 --> 00:02:06,340
70 el tiempo UTC.

29
00:02:06,350 --> 00:02:10,880
Sé que es un estándar, que la fecha universal coordinada pero independiente.

30
00:02:10,970 --> 00:02:13,460
Vamos a tomar el tiempo en milisegundos.

31
00:02:13,590 --> 00:02:14,050
Inicio.

32
00:02:14,480 --> 00:02:16,490
Vamos a tener también un fin

33
00:02:20,690 --> 00:02:23,540
y luego vamos a restar ambos.

34
00:02:23,750 --> 00:02:24,160
Fin.

35
00:02:24,290 --> 00:02:25,560
Menos inicio.

36
00:02:26,600 --> 00:02:30,700
El tiempo total en que se demoró en milisegundos, siempre en milisegundos.

37
00:02:30,790 --> 00:02:34,160
Como son tipo numérico del tipo tipológico, acá estamos restando.

38
00:02:34,310 --> 00:02:35,000
Es una recta.

39
00:02:35,240 --> 00:02:42,890
Entonces restamos el último tiempo en milisegundos y cuando comenzamos y acá vamos a concatenar y también

40
00:02:42,890 --> 00:02:44,720
voy a ver un poco más avanzado que después.

41
00:02:44,750 --> 00:02:51,050
Vamos a profundizar cuando veamos todo lo que es flujo de control como ELIF, el switch CAIS y todo

42
00:02:51,050 --> 00:02:53,530
lo que es iteración, todo lo que for el guey.

43
00:02:53,670 --> 00:02:57,590
En fin, pero acá para poder probar tenemos que utilizar un fork, una iteración.

44
00:02:57,650 --> 00:03:02,060
Repetir, por ejemplo, 500 veces un proceso de concatenación y ver cuánto se demora.

45
00:03:02,840 --> 00:03:06,440
Entonces vamos a usar la estructura o el flujo de control for.

46
00:03:06,980 --> 00:03:08,360
Después vamos a ver mucho más detalle.

47
00:03:09,110 --> 00:03:13,130
Comenzando en cero iba a terminar hasta que el contador.

48
00:03:13,490 --> 00:03:17,150
Y acá inicializar un contador y igual a cero.

49
00:03:17,490 --> 00:03:22,640
Iba a finalizar la iteración cuando sea mayor que 1000 o mejor con 500.

50
00:03:22,850 --> 00:03:24,170
Vamos a partir con 500.

51
00:03:24,630 --> 00:03:28,730
Y la idea es que Helí se incremente con más más.

52
00:03:28,820 --> 00:03:30,980
También vamos a ver ese operador.

53
00:03:31,070 --> 00:03:35,690
Este operador más más significa post incremento, pero vamos a ver.

54
00:03:35,750 --> 00:03:41,110
Pero esto es lo mismo que decir y es igual a +1 exactamente lo mismo, por ejemplo.

55
00:03:41,320 --> 00:03:46,200
Y igual y más uno se lo vamos incrementando en uno.

56
00:03:46,370 --> 00:03:48,620
Entonces simplemente se puede abreviar.

57
00:03:49,380 --> 00:03:55,610
Aman más a un incremento en uno, pero no se preocupen que después lo vemos más en detalle.

58
00:03:55,790 --> 00:03:58,820
Pero al final el foro cuenta con tres bloques.

59
00:03:58,970 --> 00:04:05,480
Primero se inicializar esta variable, luego un bloque de evaluación se evalúa para poder finalizar

60
00:04:05,570 --> 00:04:09,330
este ciclo o iteración si se cumple la condición, finaliza.

61
00:04:09,500 --> 00:04:17,670
Es decir, si Helí llega a 500, finaliza el foro y se sale y después de cada iteración, al final acá

62
00:04:17,820 --> 00:04:19,010
se va incrementando en uno.

63
00:04:19,190 --> 00:04:21,160
Pero no se preocupe que después vamos a ver más en detalle.

64
00:04:21,420 --> 00:04:23,490
Pero lo importante es ver la concatenación.

65
00:04:23,990 --> 00:04:28,300
Entonces, primero vamos a evaluar, analizar la concatenación con el método, con CATT.

66
00:04:28,550 --> 00:04:37,280
Entonces sé que tenemos el String A. Va a ser igual a C un espacio acá punto con CATT concatenados con

67
00:04:37,370 --> 00:04:45,720
A punto, con CATT con un punto, con qat, con un salto línea.

68
00:04:46,130 --> 00:04:50,860
Recuerden que se attolini con N acá es con cata no replays.

69
00:04:51,910 --> 00:04:57,410
Sin querer se me marcó otro bien a s concatenar con a Boyé y con un salto de línea.

70
00:04:57,690 --> 00:05:03,200
Esa línea es solamente para que la consola se vea visual después de cada iteración, cada concatenación

71
00:05:03,320 --> 00:05:04,220
de un salto línea.

72
00:05:04,350 --> 00:05:05,360
Ahí después vamos a ver.

73
00:05:05,480 --> 00:05:13,250
Incluso lo podríamos ver ahora, por ejemplo, Zogby Vamos a imprimir el C, que es el resultado final

74
00:05:13,250 --> 00:05:14,060
de la concatenación.

75
00:05:14,330 --> 00:05:15,710
Entonces, veamos cuánto se demora.

76
00:05:15,770 --> 00:05:20,660
Con 500 quinientas iteraciones levantamos.

77
00:05:22,550 --> 00:05:26,900
Se fijan, ahí está el resultado, son quinientas, voy a iraca más rápido.

78
00:05:28,340 --> 00:05:29,850
Se demoró un segundo.

79
00:05:33,020 --> 00:05:41,400
Perdón, un milisegundo, un milisegundo acabo ya comentar, vamos a volver a probar otro texto.

80
00:05:44,900 --> 00:05:47,190
2 Acá se demoró dos, dejémoslo en dos.

81
00:05:47,810 --> 00:05:52,520
2 milisegundos, es decir, bastante rápido, son quinientas iteraciones.

82
00:05:52,640 --> 00:05:54,040
Esta concatenando 500 pesa.

83
00:05:54,380 --> 00:05:56,450
De hecho si bajamos vemos la línea.

84
00:05:57,050 --> 00:06:00,670
Acá podemos ver que está en 500 dos, así que está perfecto.

85
00:06:01,100 --> 00:06:02,480
Bien, vamos a comentar este.

86
00:06:04,540 --> 00:06:13,650
Vamos a probar con el signo más sé más, igual a más, ve más un salto línea me.

87
00:06:17,360 --> 00:06:26,630
Ordenamos este operador lo mismo que decir que se es igual a C más a Maeve concepto va concatenando,

88
00:06:27,260 --> 00:06:34,010
pero acá estamos abriendo que hace que es igual a le concatenados el A.

89
00:06:34,630 --> 00:06:35,330
Y el salto?

90
00:06:35,480 --> 00:06:36,140
El salto línea.

91
00:06:37,210 --> 00:06:40,360
Y vamos uniendo con lo que tenía hace en otras palabra.

92
00:06:42,990 --> 00:06:48,060
Es igual a eso, se es igual al que tenía hace en las otras iteraciones.

93
00:06:48,150 --> 00:06:55,200
En el otro loup anteriores mantenemos lo mismo y continuamos sumando Mafe y el salto, pero esto se

94
00:06:55,200 --> 00:06:56,940
puede simplificar de esa forma.

95
00:06:59,150 --> 00:07:00,870
Vamos a probar, levantamos.

96
00:07:03,960 --> 00:07:06,490
Acá estamos la línea 402.

97
00:07:06,910 --> 00:07:09,990
Está perfecto, se moro 19000 y segundo.

98
00:07:11,230 --> 00:07:12,110
Vamos a comentar.

99
00:07:14,110 --> 00:07:18,490
Es decir, es mucho más rápido el método con CATT se fijan mucho más optimizado.

100
00:07:18,640 --> 00:07:25,120
Pero veamos otra tercera alternativa importante e importante tener en cuenta cuándo usar uno, cuándo

101
00:07:25,120 --> 00:07:30,660
usar otro según los tiempo y la cantidad de elementos o streeck a qué atenerse.

102
00:07:31,030 --> 00:07:33,800
Vamos a ver otra forma utilizando Extrem Builder.

103
00:07:34,220 --> 00:07:36,190
Entonces por acá vamos a crear la instancia

104
00:07:38,820 --> 00:07:39,670
Extrem Builder.

105
00:07:40,160 --> 00:07:40,750
Se ve

106
00:07:43,990 --> 00:07:46,140
y le pasamos un string por defecto.

107
00:07:46,270 --> 00:07:51,690
Le vamos a pasar a A por defecto perfecto.

108
00:07:52,060 --> 00:07:55,050
Entonces comenzamos con el string a este impulso.

109
00:07:55,570 --> 00:08:00,910
Tal como dice el nombre nos permite crear una streeck, empezar a analizar elementos con el método Appen

110
00:08:01,030 --> 00:08:04,570
vamos agregando concatenando y después con el método thus trick.

111
00:08:04,630 --> 00:08:07,900
Generamos el estreno completo de una forma mucho más optimizada.

112
00:08:08,080 --> 00:08:13,720
Una de las característica que Les Trim Builder es mutable, a diferencia del street, que es inmutable.

113
00:08:13,780 --> 00:08:19,330
Por lo tanto, se puede ir modificando el histrión builder con los elementos Vamos a probar, realicemos

114
00:08:19,330 --> 00:08:25,370
el test con Extrem Builder, ese punto Append con APEN concatenados.

115
00:08:25,480 --> 00:08:27,520
Entonces vamos a concatenar primero con A.

116
00:08:28,790 --> 00:08:36,040
Y nuevamente invocamos el método Appen Concatenados Kompel y nuevamente invocamos el método Appen Concatenar

117
00:08:36,150 --> 00:08:37,580
con el salto línea.

118
00:08:39,360 --> 00:08:44,960
Si se fijan acá estamos invocando los métodos de forma encadenada.

119
00:08:45,020 --> 00:08:45,410
Por qué?

120
00:08:45,450 --> 00:08:52,190
Porque el APEN retorna la misma instancia, es decir, el mismo objeto o referencia del ESTEM builder.

121
00:08:52,430 --> 00:08:54,590
Entonces, cómo retorna el Trim Builder?

122
00:08:55,220 --> 00:08:58,280
Podemos volver a invocar a su método de toda forma?

123
00:08:58,400 --> 00:09:03,110
Esto también lo vamos a ver después en programación orientada objeto, cuando se pueden invocar métodos

124
00:09:03,150 --> 00:09:07,630
en cadena, pero para que comprendan lo mismo que punto y coma.

125
00:09:09,620 --> 00:09:20,870
Ese punto Appen punto y coma y ese punto Appen punto y coma, es decir, usando el mismo objeto la misma

126
00:09:20,870 --> 00:09:27,640
referencia Destripe Builder, impugnamos el método APEN tres veces para ir concatenando a Ve y Elene

127
00:09:28,580 --> 00:09:30,470
y vamos a mostrar acá el resultado.

128
00:09:30,620 --> 00:09:41,740
Entonces por acá Zogby se ve, pero lsb punto tu que genere el estre incompleto.

129
00:09:42,230 --> 00:09:42,970
Vamos a probar.

130
00:09:45,830 --> 00:09:49,570
Bien Línea 513 Perfecto.

131
00:09:50,820 --> 00:09:52,900
Y por acá tenemos el resultado cero.

132
00:09:53,040 --> 00:09:55,980
Es decir, se demoró cero milisegundos.

133
00:09:56,040 --> 00:10:01,730
Entonces hay una diferencia brutal en comparación con el con CAT y él más.

134
00:10:01,830 --> 00:10:07,230
Es decir, búlder es mucho más rápido, mucho más optimizado, eficiente para concatenar grande cantidad

135
00:10:07,350 --> 00:10:11,570
de es Trenc cero milisegundos.

136
00:10:11,850 --> 00:10:18,240
Entonces primero gana por lejos el tiempo Wílder, después con Cat dosmiles segundos y después con signo

137
00:10:18,240 --> 00:10:20,410
más 19 milisegundo.

138
00:10:21,300 --> 00:10:26,010
A pesar de que con el signo más cuando concatenados de esta forma por debajo, también utiliza el String

139
00:10:26,010 --> 00:10:32,160
Builder por debajo, pero crea más instancias, más objeto y lo hace de una forma menos eficiente que

140
00:10:32,160 --> 00:10:33,930
utilizar directamente triangula.

141
00:10:35,350 --> 00:10:38,030
Pero qué pasa con 1000, por ejemplo?

142
00:10:39,180 --> 00:10:40,560
Vamos a aumentar al doble.

143
00:10:44,120 --> 00:10:46,450
Bien Extrem Builes se demora cero.

144
00:10:47,230 --> 00:10:54,100
Entonces con mil voy a colocar una coma mil, se demora cero milisegundo.

145
00:10:56,920 --> 00:11:04,100
Me parece más fácil y tener todo en una sola línea podía cortar esto y lo voy a dejar en forma encadenada.

146
00:11:04,550 --> 00:11:05,270
Punto!

147
00:11:05,780 --> 00:11:07,700
Recuerden que el appen retorna.

148
00:11:07,850 --> 00:11:11,180
El objeto se ve en Builders la misma instancia.

149
00:11:13,030 --> 00:11:14,320
Entonces sentí exactamente lo mismo.

150
00:11:14,980 --> 00:11:16,120
De hecho, lo podemos revisar.

151
00:11:16,390 --> 00:11:17,150
Control.

152
00:11:17,260 --> 00:11:17,620
Click.

153
00:11:18,720 --> 00:11:25,200
El código fuente y Reston Matiz Diz también lo vamos a ver, pero Diz Retornã la instancia del objeto

154
00:11:25,200 --> 00:11:25,810
es Trim Builders.

155
00:11:26,390 --> 00:11:30,630
Entonces por eso podemos llamar de forma encadenada los métodos del objeto.

156
00:11:31,270 --> 00:11:32,560
Bien, voy a comentar.

157
00:11:33,390 --> 00:11:34,680
Vamos a probar con Kolkata.

158
00:11:36,400 --> 00:11:37,230
El método con Comtat.

159
00:11:38,930 --> 00:11:39,940
Volvemos a probar.

160
00:11:41,370 --> 00:11:44,670
Ahora se demoró 4 milisegundo con el doble.

161
00:11:51,600 --> 00:11:57,030
Voy a comentar y comentamos acá y probamos con concatenar con más.

162
00:12:02,860 --> 00:12:03,840
Zamora 21.

163
00:12:08,270 --> 00:12:14,900
Veintiún milisegundos sigue siendo más rápido el tren Builder, después con Kate y después con el más.

164
00:12:16,350 --> 00:12:18,090
Vamos a probar Extrem Builder.

165
00:12:19,800 --> 00:12:21,840
Pero ahora con 10000.

166
00:12:25,550 --> 00:12:26,420
Levantamos.

167
00:12:29,030 --> 00:12:33,080
Extrem Builders memora dosmiles segundo., es decir, sigue siendo muy rápido.

168
00:12:35,970 --> 00:12:39,030
Se fijan tresmiles, segundo, volvemos a levantar.

169
00:12:43,620 --> 00:12:51,630
No milisegundo muy rápido con 10000 iteraciones 2 milisegundo.

170
00:12:52,760 --> 00:12:56,480
Vamos a comentar y vamos a probar con el método con CATT.

171
00:13:05,360 --> 00:13:06,290
105.

172
00:13:09,910 --> 00:13:11,560
105 milisegundos.

173
00:13:12,760 --> 00:13:14,710
Miren la diferencia entre uno y otro.

174
00:13:15,100 --> 00:13:16,710
Veamos con esta forma.

175
00:13:21,310 --> 00:13:23,830
Se me olvidó comentar acá, voy a comentar acá.

176
00:13:24,190 --> 00:13:26,800
Ahora sí hay que dejar siempre una sola.

177
00:13:30,710 --> 00:13:31,520
68.

178
00:13:36,300 --> 00:13:43,140
Se fijan ahora con más se morãn menos que con el método con Cata, es decir, entre más elemento, la

179
00:13:43,140 --> 00:13:44,650
brecha se empieza a cortar.

180
00:13:45,000 --> 00:13:53,070
Entre el método con CATT, con el más vamos a probar con mil 10000 de 1000 probábamos con el más.

181
00:13:58,290 --> 00:14:01,300
72 68 estafetas 72.

182
00:14:01,330 --> 00:14:01,720
Está bien.

183
00:14:02,100 --> 00:14:05,940
Voy a comentar y volvemos a probar acá con él, con Kate.

184
00:14:11,590 --> 00:14:12,370
105.

185
00:14:12,640 --> 00:14:13,900
La brecha se empieza a cortar.

186
00:14:14,140 --> 00:14:15,940
Ahora qué pasa si colocamos 100 mil?

187
00:14:17,220 --> 00:14:19,080
Probemos acá con el método con CAT.

188
00:14:26,000 --> 00:14:28,630
Se mira mucho más, se fijan trabajando, ahora se.

189
00:14:31,330 --> 00:14:32,530
5mil 71.

190
00:14:36,100 --> 00:14:42,800
No sé si 71000 1071 segundo, es decir cinco segundos se divide en mil o tenemos los segundos cinco

191
00:14:42,800 --> 00:14:43,310
segundos.

192
00:14:45,200 --> 00:14:46,160
Vamos a comentar.

193
00:14:48,520 --> 00:14:52,030
Vamos a aprobar en C con el más, concatenar con el más.

194
00:14:59,430 --> 00:15:01,210
Mora 1009 76.

195
00:15:01,420 --> 00:15:02,800
Es decir, dos segundos.

196
00:15:03,760 --> 00:15:07,450
Ahora se moverá mucho menos con él más que con el método con Cata.

197
00:15:10,280 --> 00:15:11,360
Ahora mucho más rápido.

198
00:15:11,480 --> 00:15:13,190
Esto que de esta forma.

199
00:15:15,140 --> 00:15:16,430
Veamos el extremo builders.

200
00:15:21,230 --> 00:15:22,730
En builders sigue siendo muy rápido.

201
00:15:24,150 --> 00:15:25,730
8 8 milisegundo.

202
00:15:29,510 --> 00:15:34,620
Y este sería el resultado final, es mucho más rápido por donde se le mire con el tren builders independiente,

203
00:15:34,640 --> 00:15:42,190
la cantidad si son pocos streeck o muchos son pocos ceros, prácticamente ya con mil Proton con 10 mil

204
00:15:42,280 --> 00:15:47,110
dosmiles segundo y con cien mil ocho mil y segundo, Versus con K-T.

205
00:15:47,260 --> 00:15:55,030
Con CATT responde bastante bien cuando son pocos 500 y 1000 dosmiles segundo, 4L segundo versus los

206
00:15:55,030 --> 00:16:02,530
21 mil y segundo que se muera con mil y 19 mil y segundo que se muera con 500 con la forma del más,

207
00:16:02,820 --> 00:16:04,870
entonce con qat, con pocos elementos.

208
00:16:05,030 --> 00:16:08,110
Es más rápido que más, pero si empezamos con cautela ya mucho más.

209
00:16:08,170 --> 00:16:15,270
Con 10 mil o 100 mil se empieza a demorar mucho menos con el más que con el metro, con CATT, con con,

210
00:16:15,640 --> 00:16:15,850
cuando.

211
00:16:15,850 --> 00:16:18,940
Son mucho carácteres, muchos extrem que vamos a concatenar.

212
00:16:19,060 --> 00:16:21,820
No vale la pena, es completamente ineficiente.

213
00:16:22,300 --> 00:16:28,660
Con cien mil se muere cinco segundos, con cien mil de la concatenación, con más demora dos segundos

214
00:16:28,770 --> 00:16:31,020
y acá ocho mil es segundo.

215
00:16:31,150 --> 00:16:31,990
No hay comparación.

216
00:16:32,080 --> 00:16:37,090
El tren Wylde pordebajo funciona de forma muy eficiente, con pacer no es sincronizado.

217
00:16:37,210 --> 00:16:43,720
En fin, tiene mucha característica que lo hace muy optimizado y optimiza al máximo la cantidad de streeck

218
00:16:43,870 --> 00:16:48,490
que genera que genera memoria, mientras que con el con qat crea instancias.

219
00:16:48,520 --> 00:16:55,270
Pero por ejemplo, cuando concatena el CD con la AI crea un objeto aparte del cé y Aportela, ahí tenemos

220
00:16:55,270 --> 00:16:55,770
otro objeto.

221
00:16:55,780 --> 00:16:58,090
Tenemos Sheela más el C+.

222
00:16:58,570 --> 00:17:01,520
Después tenemos el cé Marcela más Elbe.

223
00:17:01,720 --> 00:17:04,290
Otro objeto aparte del set con.

224
00:17:04,780 --> 00:17:07,780
Después tenemos otro objeto que la concatenación de estos tres.

225
00:17:08,260 --> 00:17:14,380
Es decir, por cada vez que se concatena va generando nuevas instancias y con él más solamente una,

226
00:17:14,500 --> 00:17:15,730
dos y tres.

227
00:17:15,790 --> 00:17:19,660
Por ejemplo, acá tenemos una, dos y tres, nada más.

228
00:17:20,140 --> 00:17:23,560
Acá tenemos una, dos y tres más.

229
00:17:23,680 --> 00:17:32,230
La combinación de C con nada de C. Combe y DC con el salto línea, fijan, fijan, son más intense,

230
00:17:32,230 --> 00:17:33,880
más objetos que se guardan en memoria.

231
00:17:34,000 --> 00:17:35,580
Nos vemos en la siguiente clase.
