There is an error, for the Addition, Substraction, Multplicaiton and division the result variables should've been declared as double instead of uint32_t.
Interesante. Para mí de la vieja escuela del PIC las prioridades de rendimiento son el assembler y el C consecutivamente. Con los otros no e experimentado.
Siguen siendo excelentes elecciones cuando el rendimiento es critico. El nuevo lenguaje competidor contra la vieja guardia es el Rust, que tiene la velocidad de nuestros lenguajes favoritos en un lenguaje moderno. Saludos y que su familia este con salud.
Judging based upon the stats that you shared at the end i would think that using C instead of Python would make a difference in terms of performance. What would be the specific situations in which C should be used instead of Python since i think that Python is easier to work with then C or C++.
hola Alex, yo no se de programación, apenas estoy tratando de aprender HTML, si logro algo seguiré con Css luego Python y después a ver si aprendo algo, seguiría con lo que pueda, voy muy lento, pero trato de aprender, saludos.
Te recomiendo aprender primero python, o si lo que quieres hacer es web, aprender css y Javascript. Ahora, si tienes arduinos, o algo para practicar, aprende c/c++
@@Bleibruk Hombre!, te agradezco mucho el consejo, así lo haré, y es que he visto temas de Arduino, pero solo veo, no entiendo casi nada pues no se nada de programación, pero seguiré tu consejo, muchas gracias, abrazos sinceros desde México.
Tengo una pregunta de un novato, los tiempos mostrados que están midiendo realmente, la compilación o el tiempo de respuesta del procesador a la tarea asignada por el código?
@@SobhitPanda Look at the code, I just put a pin high before the testing code and then put it low when it was done. Then measured it with an oscilloscope.
Java, in the desktops and servers, actually runs almost as fast as C++ for many apps - surprising, I know, but it makes sense when you think about it! Unlike Python, Java IS a compiled language and the Virtual Machine it runs on typically optimizes apps at run time using HotSpot technology and it does some pretty awesome optimizations - and focuses on the "hot spots" i.e. the code that gets executed the most - which is something a 'compile time optimizer' like that built into GCC can never do. There is a story that James Gosling, creator of Java tells, where he was at a trade show where they had a performance competition between the GCC guys and the Java guys and the Java app was actually running faster than the same app written in C++ and compiled with GCC - the GCC guys were trying every compiler optimization they could find but Java, with its HotSpot optimization was still beating the natively compiled C++ app!
Excelente comparación entre dos lenguajes de programación para trabajar con la raspberry pi pico. Parece ser que la respuesta en C++, es más rápida que en python. Pregunta: ¿Que software permite programar la raspberry pi pico en C++?
Las diferencias son enormes en la mayoría de los casos, menos en UART, precisamente por ser algo de alto nivel. No hay ninguna sorpresa. Pero eso no significa que Python no deba ser usado, como todo, tiene su pros y contras y es responsabilidad de cada quien evaluar cual es mejor para su respectiva aplicación.
Lo malo es que encuentras gente diciendo que "Python es mejor". Soy de los que pienso que cada lenguaje tiene su aplicabilidad y efectivamente será mejor o peor según los requerimientos de los proyectos.
@@yuryeuceda8590Así es cada lenguaje tiene su lado fuerte, en el caso de Python es importante enfatizar que es un lenguaje direccionado hacia el diseño de algoritmos de IA y es dónde tiene su parte fuerte, por lo que se puede concluir que en muchos código requerible para una aplicación de alto nivel en está tarjeta rasberry Pico sea el lenguaje idóneo y no el C++.
@@japalaciosh Pero ¿Cómo vas a decir eso? ¿Sabes la cantidad de operaciones matemáticas que conlleva el entrenamiento y prueba de las RNA? Claramente se nota que de igual manera que muestra el vídeo el Python tendrá menor rendimiento que C o que C++ o que Java inclusive en el área de IA. Podemos destacar de Python la sintáxis muy bien elaborada y los comodines de programación que nos brinda pero que sea diseñado para IA es lo más loco que he escuchado.
Yo creo que José, lo dice por la cantidad de herramientas que hay para desarrollo de IA en el PC. Pero al final la mayoría de ese código corre CPython que es básicamente un wrapper de C en la mayoría de los casos.
Looks nice but does not provide usable information. Why? You need to give the compilers the same problem to deal with to make comparisons. In other news: Code wise, it makes no sense to assign numbers with a fraction to integer types. Optimization wise, use a type width that matches the underlying hardware. And, find a better C++ compiler.
la gracia de usar python en un PC es que te permite manejar ENORMES cantidades de datos de manera facil, por ejemplo aprender a usar tensorflow, opencv, opengl, etc no requiere que uses librerias para manejar los vectores y sus tamaños, pero no se puede hacer eso en un microcontrolador (ya se que hay un tensorflow lite y pequeñas adaptaciones de opencv para micropython pero son MUY lentas) por mucho mas tiempo se seguira usando C, no me sentaria en un auto que maneja el airbag con python
Recuerdo un video sobre la velocidad de micropython hecho directamente por los creadores, en concreto desde este punto ua-cam.com/video/hHec4qL00x0/v-deo.html y muestran formas de incrementar la velocidad de respuesta cuando se requiera, tiene varios ejemplos para ir incrementando la velocidad, es obvio que el lenguaje de máquina es el más veloz a al hora de responder el micro, y en ambos lenguajes C y micropython se pueden escribir secciones en dicho lenguaje....lo pregunta sería, en que momentos es tan necesario una respuesta inmediata del micro a una causa como sensores o interrupciones externas?..yo diría que en equipos médicos, en automotríz, en equipos de laboratorio donde se requiera precisión o en aquellos casos donde menos de 10 ms hacen la diferencia...pero para los makers y electrónica en general que tan importantes o necesarias serían esas diferencias? ..creo que aprender estos tres lenguajes máquina, C y micropython harán mucho la diferencia en la eficiencia en los proyectos, tanto por el tiempo de desarrollo como la ejecución del mismo. Saludos.
There is an error, for the Addition, Substraction, Multplicaiton and division the result variables should've been declared as double instead of uint32_t.
That is so fundamental that you should redo the video.
Interesante. Para mí de la vieja escuela del PIC las prioridades de rendimiento son el assembler y el C consecutivamente. Con los otros no e experimentado.
Siguen siendo excelentes elecciones cuando el rendimiento es critico. El nuevo lenguaje competidor contra la vieja guardia es el Rust, que tiene la velocidad de nuestros lenguajes favoritos en un lenguaje moderno. Saludos y que su familia este con salud.
Ya, bueno a medida que crece la capacidad de procesamiento los lenguajes de alto nivel se van abriendo cada vez más paso.
El lento python contra en poderosisimo C
Se programa en Python porque te permite prototipar y hacer cosas de más alto nivel más fácilmente, la misma razón por la que se usa en un PC.
@@xorvideos que yo sepa si hay librerías de python para C, solo que no sé si haya para micropython
@@pictrance hay si tu puedes ultilizar la librería Cython
Judging based upon the stats that you shared at the end i would think that using C instead of Python would make a difference in terms of performance. What would be the specific situations in which C should be used instead of Python since i think that Python is easier to work with then C or C++.
programm has to go brrrrrrrr
@@ich_hab_kein_plan4326 selbsverstandlich doch Junge
Muchas gracias por atender mi peticion.
No hay de que :)
hola Alex, yo no se de programación, apenas estoy tratando de aprender HTML, si logro algo seguiré con Css luego Python y después a ver si aprendo algo, seguiría con lo que pueda, voy muy lento, pero trato de aprender, saludos.
Te recomiendo aprender primero python, o si lo que quieres hacer es web, aprender css y Javascript. Ahora, si tienes arduinos, o algo para practicar, aprende c/c++
@@Bleibruk Hombre!, te agradezco mucho el consejo, así lo haré, y es que he visto temas de Arduino, pero solo veo, no entiendo casi nada pues no se nada de programación, pero seguiré tu consejo, muchas gracias, abrazos sinceros desde México.
Sí, como dice Juan, Python es más fácil para empezar. Saludos!
@1:42
So, what is the label for the bars? Which color is yellow or blue?
blue = C++
yellow = Python
Would be cool to see a power/energy comparison also
Do microcontrollers have powermanagement? I think they will be always using the same energy. It dosnt matter if its under load or not I think?
Tengo una pregunta de un novato, los tiempos mostrados que están midiendo realmente, la compilación o el tiempo de respuesta del procesador a la tarea asignada por el código?
Encender GPIO, acción y apagar GPIO. Adquiere la señal del GPIO con el osciloscopio tiene pinta
Es lo segundo, no tiene sentido medir performance de tiempo de compilación.
Soy yo, o aún así pareciera que en C sigue siendo algo lenta la respuesta?
Sir please tell me, what was the approach or process to get these results.
What exactly do you want to know?
@@Tutoelectro1 how did you test the time taken for each case
@@SobhitPanda Look at the code, I just put a pin high before the testing code and then put it low when it was done. Then measured it with an oscilloscope.
@@Tutoelectro1 thankyou 😁 Got it
La diferencia en bitewise es barbara, excelente video 👍
Gracias. Saludos!
Python is an interpreter language, so obviously is much slower (and for sure uses much more RAM). Anyway, is much better than Java :P
Java, in the desktops and servers, actually runs almost as fast as C++ for many apps - surprising, I know, but it makes sense when you think about it! Unlike Python, Java IS a compiled language and the Virtual Machine it runs on typically optimizes apps at run time using HotSpot technology and it does some pretty awesome optimizations - and focuses on the "hot spots" i.e. the code that gets executed the most - which is something a 'compile time optimizer' like that built into GCC can never do.
There is a story that James Gosling, creator of Java tells, where he was at a trade show where they had a performance competition between the GCC guys and the Java guys and the Java app was actually running faster than the same app written in C++ and compiled with GCC - the GCC guys were trying every compiler optimization they could find but Java, with its HotSpot optimization was still beating the natively compiled C++ app!
C vs python, right?
Would be the same result as with C++
Excelente genial saludos 👍
GRacias!
Aguante C!!!! Woooo!!!!
Jajaja
Por norma general los lenguajes compilados son más veloces que los interpretados.
Si, claro, mostrar eso no es el objetivo del vídeo.
Excelente comparación entre dos lenguajes de programación para trabajar con la raspberry pi pico. Parece ser que la respuesta en C++, es más rápida que en python. Pregunta: ¿Que software permite programar la raspberry pi pico en C++?
El sdk de arm
Lo descargas de la página oficial
Las diferencias son enormes en la mayoría de los casos, menos en UART, precisamente por ser algo de alto nivel. No hay ninguna sorpresa. Pero eso no significa que Python no deba ser usado, como todo, tiene su pros y contras y es responsabilidad de cada quien evaluar cual es mejor para su respectiva aplicación.
Lo malo es que encuentras gente diciendo que "Python es mejor". Soy de los que pienso que cada lenguaje tiene su aplicabilidad y efectivamente será mejor o peor según los requerimientos de los proyectos.
@@yuryeuceda8590Así es cada lenguaje tiene su lado fuerte, en el caso de Python es importante enfatizar que es un lenguaje direccionado hacia el diseño de algoritmos de IA y es dónde tiene su parte fuerte, por lo que se puede concluir que en muchos código requerible para una aplicación de alto nivel en está tarjeta rasberry Pico sea el lenguaje idóneo y no el C++.
@@japalaciosh Pero ¿Cómo vas a decir eso? ¿Sabes la cantidad de operaciones matemáticas que conlleva el entrenamiento y prueba de las RNA? Claramente se nota que de igual manera que muestra el vídeo el Python tendrá menor rendimiento que C o que C++ o que Java inclusive en el área de IA. Podemos destacar de Python la sintáxis muy bien elaborada y los comodines de programación que nos brinda pero que sea diseñado para IA es lo más loco que he escuchado.
Yo creo que José, lo dice por la cantidad de herramientas que hay para desarrollo de IA en el PC. Pero al final la mayoría de ese código corre CPython que es básicamente un wrapper de C en la mayoría de los casos.
Looks nice but does not provide usable information. Why? You need to give the compilers the same problem to deal with to make comparisons. In other news: Code wise, it makes no sense to assign numbers with a fraction to integer types. Optimization wise, use a type width that matches the underlying hardware. And, find a better C++ compiler.
la gracia de usar python en un PC es que te permite manejar ENORMES cantidades de datos de manera facil, por ejemplo aprender a usar tensorflow, opencv, opengl, etc no requiere que uses librerias para manejar los vectores y sus tamaños, pero no se puede hacer eso en un microcontrolador (ya se que hay un tensorflow lite y pequeñas adaptaciones de opencv para micropython pero son MUY lentas) por mucho mas tiempo se seguira usando C, no me sentaria en un auto que maneja el airbag con python
Recuerdo un video sobre la velocidad de micropython hecho directamente por los creadores, en concreto desde este punto ua-cam.com/video/hHec4qL00x0/v-deo.html y muestran formas de incrementar la velocidad de respuesta cuando se requiera, tiene varios ejemplos para ir incrementando la velocidad, es obvio que el lenguaje de máquina es el más veloz a al hora de responder el micro, y en ambos lenguajes C y micropython se pueden escribir secciones en dicho lenguaje....lo pregunta sería, en que momentos es tan necesario una respuesta inmediata del micro a una causa como sensores o interrupciones externas?..yo diría que en equipos médicos, en automotríz, en equipos de laboratorio donde se requiera precisión o en aquellos casos donde menos de 10 ms hacen la diferencia...pero para los makers y electrónica en general que tan importantes o necesarias serían esas diferencias? ..creo que aprender estos tres lenguajes máquina, C y micropython harán mucho la diferencia en la eficiencia en los proyectos, tanto por el tiempo de desarrollo como la ejecución del mismo. Saludos.
Excelente!
Totalmente de acuerdo
Gracias por compartir. Y con lo que dices, muchas veces no es importante pero otras muchas si, todo depende de lo que estés haciendo.
Tienes mucha razon, no se trata de decir lo que uso o me gusta es mejor, sino saber los tres y usarlos de acuerdo a las necesidades del proyecto
python is like a garbage
Soooo Python is a cr*p :P.