bendito sea Go, su eficiencia en concurrencia es buenísima, python por ejemplo está limitado a un hilo por nucleo, por algo llamado (global interpreter lock) pero Go no, go puede usar varios hilos del nucleo a la vez y eso es muuucha ventaja, gran lenguaje para la concurrencia y paralelismo
Excelente !!. Lo de "esperar" a una función para que termine se suele mencionar como "función bloqueante". Por lo menos en Sistemas Embebidos le decimos así.
Apenas tengo poco con Go, pero este ejemplo es bastante útil y no tan loco (en la parte del código) como otros que quizá asustarían jaja. ¡Muy buen video y explicación! Espero ansioso a que subas más contenido relacionado con Go. ¡Saludos!
Buenas noches! Espero que se encuentren todos de maravilla, me gustaría saber porque me da error al configurar está conexión db, err := sql.Open("mysql", root+":"+123+"@"+localhost:3306+"/"+Fotography) me sale syntax error: unexpected : in argument list; possibly missing comma or Si alguién puede ayudarme se lo agradezco.
Buenas muchas gracias por la clase. Te consulto el estimado que te hace la consola tenes idea si existe algun plugin para vscode/linux o windows que te haga lo mismo
Si, hay una variable de entorno donde puedes indicarle a go cuántos núcleos usar, pero por default usa varios. Comoquiera no es exactamente una goroutine por núcleo, al final no son hilos como tal, pero de que usa varios si usa varios por default
Consulta si tengo una permutacion que me genera 400 millones de casos y cada caso hago un calculo y luego lo escribo en un fichero hasta cuantas GoRutines puedo mandar al mismo tiempo porque veo usaste 10 GoRutines para tu ejemplo pero podrias aumentar el numero a 1000 o 10000 para que sea mas rapido no? Cual es el limite de Gorutiines?
Muy buen video, la verdad aclara bastantes dudas, el unico detalle es que el archivo no lo escribe ordenado, imagino por el mismo hecho de hacerlo concurrente
Hola como estas Quiero empezar en la programacion y estoy entre python y go , que me recomiendas o que otro lenguaje si es que no te parece ninguno de estos 2. Muchas Gracias.
Hola Omar, puedes ver mi otro video donde comparo esos dos lenguajes: ruclips.net/video/JulaIpcbtqA/видео.html Si es tu primera vez programando te recomendaría Python y ya que te acostumbres un poco pasarte a Go, y si tu objetivo es hacer programación web también puedes ver Javascript :) Al final cada lenguaje tiene sus ventajas y desventajas :)
Que buena explicación 😃, no vendess cursos más avanzados de go??, Ya me suscribí pero tú forma de explicar es muy buena, no se programar en go, pero quiero aprender, yo programo en c# y javascript nadamas, saludos
Hola Chio excelente video, consulta que otro tipo de tarea seria un buen ejemplo para implementar concurrencia. Porque según como veo el problema real es la escritura en disco, por lo cual el archivo simple.go podría tener un rendimiento muy similar al de concurrencia2.go almacenando la data en una variable y luego realizar una sola operación de escritura. Entonces me imagino que existen casos de uso quizás más complejos en donde realmente se sienta todo el potencial Saludos y muchas gracias por el excelente video.
Muy buen ojo!! Si, el rendimiento cambia mucho sobretodo por esa escritura al disco. Y como mencionas en cuando se ven pantrones concurrentes más complejos es cuando sacas más provecho a la concurrencia: Fan-in, Fan-out, poder lidiar con cosas como Long Tail Latency, etc. Gracias por el apoyo n.n
Hey!! que genial video, una pregunta que extensión utilizas para utilizar el comando Time en la consola? estoy intentando utilizarlo pero no me es posible. Muchas gracias!
Seriamente me planteo aprender este lenguaje de programación para poder acelerar los cálculos pesados de Python. En concreto, estoy metido en el mundo de la simulación de sistemas autogravitantes (por ejemplo 1000 estrellas interaccionando con la ley de gravitación de Newton) y a Python (incluso vectorizado con NumPy) le cuesta bastante y tiene unos tiempos de ejecución y memoria bastante decepcionantes... Casi se me olvida: buen vídeo!
Wow se escucha muy interesante. Haz la prueba, con solamente cambiar a un lenguaje compilado deberías de ver un cambio muy grande n.n Gracias por el apoyo :)
En el primer ejemplo sin goruntines, tienes en el ciclo for la escritura al archivo, esto esta demorando en la ejecucion de la tarea. Si en ese ciclo for colocas todo en una variable en memoria, y al finalizar el for escribes todo lo de la memoria en el archivo, el script deberia funcionar mucho mas rapido.
Vi un video que comparan a go con java , y vi que go queda corto en calculos como fibonacci el tiempo de respuesta de java es realmente mayor , pero go es bueno cuando no se utiliza muchos calculos
Hola, muy didáctico tu video, me gustó mucho pero creo que la reducción tan dramática de tiempo de ejecución se debió más al bufer que redujo la cantidad de veces que se escribió en el archivo más que la concurrencia como tal, hubiese sido bueno poder ver la diferencia real debida a la concurrencia pero muy buen video, saludos desde Ecuador
Hola Oscar, precisamente, mucho del tiempo reducido es por el bufer, igual y luego hago otro ejercicio donde muestre sólamente el impacto del proceso en paralelo
¡Tengo Miedo, Dios ayúdame con el azulito de ojos locos!!
woooo en verdad suena bastante divertido, me pondré a estudiar Go, la concurrencia esta increíble.
bendito sea Go, su eficiencia en concurrencia es buenísima, python por ejemplo está limitado a un hilo por nucleo, por algo llamado (global interpreter lock) pero Go no, go puede usar varios hilos del nucleo a la vez y eso es muuucha ventaja, gran lenguaje para la concurrencia y paralelismo
Hola!
Una introducción bastante agradable, se agradece el esfuerzo. Espero entusiasmado el siguiente video ~
Muchas gracias Monroy, te mando un abrazo :)
Excelente !!. Lo de "esperar" a una función para que termine se suele mencionar como "función bloqueante". Por lo menos en Sistemas Embebidos le decimos así.
Jústamente es eso, gracias por compartirnoslo n.n
Fantástico el vídeo, gracias por compartir!
Gracias a ti!
muy informativo tu video y buenisima forma de comunicar, gran video muchos animos!
Increíble y muy clara explicación, le daré una oportunidad a Go
Excelente!! n.n
Buenisimo, haz mas videos y retos con ejercicios de Go.
Excelente Chio!, gracias por compartir 🙌
Gracias a ti por el apoyo ☺️
Apenas tengo poco con Go, pero este ejemplo es bastante útil y no tan loco (en la parte del código) como otros que quizá asustarían jaja.
¡Muy buen video y explicación! Espero ansioso a que subas más contenido relacionado con Go.
¡Saludos!
Muchas gracias Safaera, pronto estaré subiendo más cosas de Go ;)
¡Gracias por el video!!!!
Excelente Explicación....
Me gusto mucho tu explicación,
Muchas gracias :)
muchas gracias. una duda si habían 10 go routines. la CPU se las arregló con los nucleos que tenia
Excelente video!!!
Excelente tutorial
Me encant'o la demostracion. Excelente canal.
Muchas gracias Angel n.n
excelente, gracias
Gracias a ti por el apoyo :)
Muy bien talento. Saludos
genial muy bueno, muchas gracias :)
Gracias a ti!
Super que encontré tu canal. :)
Espero y te ayude mucho n.n
Buenas noches! Espero que se encuentren todos de maravilla, me gustaría saber porque me da error al configurar está conexión db, err := sql.Open("mysql", root+":"+123+"@"+localhost:3306+"/"+Fotography) me sale syntax error: unexpected : in argument list; possibly missing comma or
Si alguién puede ayudarme se lo agradezco.
Muchas gracias!!
Gracias a ti por el apoyo!! :)
Genial Chio!, me sirvió bastante
Excelente! me da mucho gusto n.n
Muy claro!
Gracias!!
Excelente video tocayo! \m/
Gracias tocayo ;)
Increíble vídeo 👌
Muchas gracias n.n
Una pregunta que tema de VS usas? Por otra parte, que extensiones recomiendas para programar en Go.
Hola, yo recomiendo la extensión oficial de Google para go de visual studio
Buenas muchas gracias por la clase. Te consulto el estimado que te hace la consola tenes idea si existe algun plugin para vscode/linux o windows que te haga lo mismo
pregunta, si el procesador es multinucleo, por defecto la goruotines se ejecutan de forma paralela?
Si, hay una variable de entorno donde puedes indicarle a go cuántos núcleos usar, pero por default usa varios. Comoquiera no es exactamente una goroutine por núcleo, al final no son hilos como tal, pero de que usa varios si usa varios por default
@@ChioCode entiendo, gracias!
Consulta si tengo una permutacion que me genera 400 millones de casos y cada caso hago un calculo y luego lo escribo en un fichero hasta cuantas GoRutines puedo mandar al mismo tiempo porque veo usaste 10 GoRutines para tu ejemplo pero podrias aumentar el numero a 1000 o 10000 para que sea mas rapido no? Cual es el limite de Gorutiines?
Muy buen video, la verdad aclara bastantes dudas, el unico detalle es que el archivo no lo escribe ordenado, imagino por el mismo hecho de hacerlo concurrente
Pense lo mismo, no es la misma solución.
Estaría genial de tu top del estilo de "5 libros para ser desarrollador backend" o algo así :v
Muchas gracias por la idea, definitivamente habrá un vídeo con ese tema ☺️
Hola como estas Quiero empezar en la programacion y estoy entre python y go , que me recomiendas o que otro lenguaje si es que no te parece ninguno de estos 2. Muchas Gracias.
Hola Omar, puedes ver mi otro video donde comparo esos dos lenguajes: ruclips.net/video/JulaIpcbtqA/видео.html
Si es tu primera vez programando te recomendaría Python y ya que te acostumbres un poco pasarte a Go, y si tu objetivo es hacer programación web también puedes ver Javascript :)
Al final cada lenguaje tiene sus ventajas y desventajas :)
Que buena explicación 😃, no vendess cursos más avanzados de go??, Ya me suscribí pero tú forma de explicar es muy buena, no se programar en go, pero quiero aprender, yo programo en c# y javascript nadamas, saludos
A mí no me gusta javascript sobretodo por su typado flexible pero con go no existe eso y la velocidad de respuesta me interesa
@@erikomarmontescastro100 en velocidad de calculo creo que es lento
Gracias Erik, por lo pronto no tengo ningún curso de Go, pero me gustaría armar uno en su momento
Hola Chio excelente video, consulta que otro tipo de tarea seria un buen ejemplo para implementar concurrencia. Porque según como veo el problema real es la escritura en disco, por lo cual el archivo simple.go podría tener un rendimiento muy similar al de concurrencia2.go almacenando la data en una variable y luego realizar una sola operación de escritura. Entonces me imagino que existen casos de uso quizás más complejos en donde realmente se sienta todo el potencial
Saludos y muchas gracias por el excelente video.
Muy buen ojo!! Si, el rendimiento cambia mucho sobretodo por esa escritura al disco. Y como mencionas en cuando se ven pantrones concurrentes más complejos es cuando sacas más provecho a la concurrencia: Fan-in, Fan-out, poder lidiar con cosas como Long Tail Latency, etc.
Gracias por el apoyo n.n
Un Crack 😎👌
Gracias!! :)
Hey!! que genial video, una pregunta que extensión utilizas para utilizar el comando Time en la consola?
estoy intentando utilizarlo pero no me es posible.
Muchas gracias!
muy bien
Gracias!!
Seriamente me planteo aprender este lenguaje de programación para poder acelerar los cálculos pesados de Python. En concreto, estoy metido en el mundo de la simulación de sistemas autogravitantes (por ejemplo 1000 estrellas interaccionando con la ley de gravitación de Newton) y a Python (incluso vectorizado con NumPy) le cuesta bastante y tiene unos tiempos de ejecución y memoria bastante decepcionantes... Casi se me olvida: buen vídeo!
Wow se escucha muy interesante. Haz la prueba, con solamente cambiar a un lenguaje compilado deberías de ver un cambio muy grande n.n
Gracias por el apoyo :)
Con razón el exito de Docker, fue hecho con Go.
En el primer ejemplo sin goruntines, tienes en el ciclo for la escritura al archivo, esto esta demorando en la ejecucion de la tarea. Si en ese ciclo for colocas todo en una variable en memoria, y al finalizar el for escribes todo lo de la memoria en el archivo, el script deberia funcionar mucho mas rapido.
También pensé lo mismo, no fue una comparación, muy precisa.
Vi un video que comparan a go con java , y vi que go queda corto en calculos como fibonacci el tiempo de respuesta de java es realmente mayor , pero go es bueno cuando no se utiliza muchos calculos
Ahora lo hace mucho más eficiente con las Java Virtual Threads apartir del JDK 16
Hola, muy didáctico tu video, me gustó mucho pero creo que la reducción tan dramática de tiempo de ejecución se debió más al bufer que redujo la cantidad de veces que se escribió en el archivo más que la concurrencia como tal, hubiese sido bueno poder ver la diferencia real debida a la concurrencia pero muy buen video, saludos desde Ecuador
Hola Oscar, precisamente, mucho del tiempo reducido es por el bufer, igual y luego hago otro ejercicio donde muestre sólamente el impacto del proceso en paralelo
No todas las apps requieren concurrencia