¿¡ToList hace tu Código LENTO y que consuma MUCHA memoria!? | C#

  Рет қаралды 2,569

Felipe Gavilan Programa

Felipe Gavilan Programa

Күн бұрын

Пікірлер: 21
@josevicente2106
@josevicente2106 3 күн бұрын
En el ultimo caso del any no estas operando sobre todos los elementos, porque en el momento que se encuentra un elemento que cumple se para la busqueda. Es decir, any tiene un mejor caso de que el elemento este en la primera posicion y un caso peor de que este en la ultima posicion
@gavilanch2
@gavilanch2 3 күн бұрын
Buen punto 🙌
@andresgarciaalves
@andresgarciaalves 3 күн бұрын
Muy interesante el como un cambio muy simple impacte tanto en la performance 👍🏻
@gavilanch2
@gavilanch2 3 күн бұрын
Así es 🙌🔥
@pablosym
@pablosym 3 күн бұрын
Gracias Felipe!!, no lo sabia, a realizar refactor!
@gavilanch2
@gavilanch2 3 күн бұрын
Antes de eso, es bueno que hagas una medición con una herramienta como BenchmarkDotnet para cerciorarte de que realmente estás introduciendo mejoras en el proyecto. Y me alegro que te gustara!
@leonela.2618
@leonela.2618 2 күн бұрын
no sabia ese dato, ahora lo tendre en cuenta antes de usar toList de manera indiscriminada, excelente video
@gavilanch2
@gavilanch2 2 күн бұрын
Gracias 🙌🔥
@israelhurtado2182
@israelhurtado2182 3 күн бұрын
Hola Felipe, es un tema muy interesante que desconocia y podría afectar en el rendimiento de las apps, gracias por el dato. Saludos.
@santosmarte
@santosmarte 3 күн бұрын
Estoy hay que guardar lo
@Gilgameshx
@Gilgameshx 3 күн бұрын
Excelente contenido como siempre sensei, definitivamente los metodos any, all, forall llegaron a mejorar demasiado el rendimiento (solo se les pasa el delegate/func y hace todo el proceso directamente), muchas gracias por mantenernos actualizados siempre, PD: cuando nos traes unos ejemplos o curso de comunicacion entre micro servicios (publisher - consumer) con azure bus o masstransit/rabbitmq
@gavilanch2
@gavilanch2 3 күн бұрын
Microservicios es uno de los futuros cursos que haré para Udemy, y claro, también haré tutoriales para youtube del tema. Saludos!
@Gilgameshx
@Gilgameshx 3 күн бұрын
@@gavilanch2 Excelente, tengo varios de tus cursos antiguos y nuevos y me han sido de bastante provecho y utilidad.
@edwinlozano6891
@edwinlozano6891 Күн бұрын
Uff esto vale millones. Antes de implementarlo sera bueno probr como lo haces con benchmark?
@gavilanch2
@gavilanch2 Күн бұрын
Siempre es bueno basarte en datos a la hora de tomar decisiones. Así que sí, es recomendable hacer benchmark primero 🙌
@jorge-garces
@jorge-garces 3 күн бұрын
La pregunta sería entonces cuándo es conveniente usar el ToList() para que la regla sea no usarlo. Gracias Felipe, un saludo!
@gavilanch2
@gavilanch2 3 күн бұрын
Excelente pregunta. No es que ToList sea malo, solo que hay que tener cuidado de no usarlo cuando no es conveniente. El lugar más claro de cuándo usarlo es cuando necesitamos realizar operaciones de lista sobre una colección (Ejemplo: manipular los elementos de una colección usando los métodos definidos en IList, como Insert y RemoveAt). El segundo lugar (y esto lo mencionan en la charla) para usar ToList es cuando tienes una API que lo requiere. Ejemplo, si usas una librería que necesita que le envíes un List de algo para usarla, pues ese es un momento donde se justifica hacer el ToList. Tercero, para materializar enumeraciones. Por ejemplo, en el tercer ejemplo del video hicimos un foreach sobre un OrderByDescending. Dado que esta iteración la hacemos una vez, no hay problema. Sin embargo, si necesitáramos iterar dicha enumeración varias veces, podemos considerar materializarla en una lista, pues cada vez que hagamos el foreach podría haber un costo que pagar por tener que enumerar y re-enumerar la misma colección. Si te fijas, el factor común en los ejemplos del video es el uso de ToList en escenarios donde no hacía ningún aporte. No es que ToList sea malo, pero debemos siempre estar claros de cuando realmente lo estamos usando por hábito (admito que me ha pasado), y cuando lo estamos usando porque realmente lo necesitamos. Saludos!
@David_Llave
@David_Llave 2 күн бұрын
Muy buena info, ahora a aplicarla en el código. Muchas gracias Felipe
@karinalejandrolugogutierre5395
@karinalejandrolugogutierre5395 3 күн бұрын
hola, saludos puedes pasar ese codigo ?
@gavilanch2
@gavilanch2 3 күн бұрын
Buenas, claro, aquí está: github.com/gavilanch/BenchmarkToListKZbinDemo
@puntoycoma47
@puntoycoma47 11 сағат бұрын
Microsoft: "Vamos a poner mucho esfuerzo en hacer LINQ para facilitarle la vida a los devs." KZbinr estandar: "No usen eso que consume memoriaaaahjhhhh * procede a mostrar un ejemplo rebuscado * Estamos en 2024, la memoria es lo mas barato que ha sido nunca. Sal de 1982
Realizando Validaciones en Angular y ASP.NET Core
17:39
Felipe Gavilan Programa
Рет қаралды 800
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 7 МЛН
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 13 МЛН
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 22 МЛН
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 7 МЛН
Conectando una App de Angular con un Web API de ASP.NET Core
12:31
Felipe Gavilan Programa
Рет қаралды 2,9 М.
Como Usar Getters y Setters en C#
3:52
Programando con Cesar y Gabs
Рет қаралды 106
El Patrón MVC es Obsoleto
16:30
hdeleon.net
Рет қаралды 34 М.
El ORIGEN de C++
10:39
LinuxChad
Рет қаралды 27 М.
¿Por qué este Algoritmo está en tantos Videojuegos? - A* Explicado
15:38
El ORIGEN de C
12:47
LinuxChad
Рет қаралды 126 М.
Por qué aprender Linux
13:43
Platzi
Рет қаралды 202 М.
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 7 МЛН