Autor Tema: Phyton vs C/C++  (Leído 490 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Phyton vs C/C++
« en: 14 de Marzo de 2022, 22:35:17 »
Transcribo lo que dice la respuesta a una pregunta en el siguiente enlace:


https://es.quora.com/Por-qué-mucha-gente-se-ocupa-de-un-lenguaje-de-programación-difícil-como-C-cuando-hay-Python-que-lo-hace-mucho-más-fácil


"Este es el computador o ECU de un vehículo típico moderno. Entre sus funciones está administrar los controladores de frenos ABS, del sistema airbag, y desconectar la inyección de combustible en caso de choque."




"La ECU no tiene ojos ni oído interno, no sabe qué es "choque" ni "aceleraciones". Su único contacto con el exterior es un sensor inercial que le dice la aceleración y rotación en 3 ejes tridimensionales, cientos de veces por segundo. Si la suma vectorial de las 3 aceleraciones es superior a un cierto umbral, el sistema asume que el auto está chocando y no está pasando sobre una piedra."





"Las ECU no corren Windows ni Linux, ejecutan un sistema operativo de tiempo real, o RTOS, con la única misión de cumplir con sus tareas con latencia constante. ¿Por qué? Porque cuando el auto choca, la ECU tiene que cumplir con un script de seguridad en un tiempo absolutamente predecible. Basta un retraso de centésimas de segundo para que el airbag se despliegue tarde, el conductor golpee la cabeza contra el volante, los inyectores sigan bombeando combustible por líneas rotas, y tenemos un humano volando al Paraíso."


"C y C++ son lenguajes de cirujanos, llegan "directo a la vena". Cuando escribo un RTOS en C++, la interrupción del kernel tiene una latencia de exactamente 1 milisegundo, ahora, mañana y siempre. Las instrucciones las puedo ver en ensamblador, y sé exactamente qué ejecuta el procesador y cuándo. Todo el código sigue fielmente el ritmo del reloj de sistema, o sea la única latencia es la que produce el cristal de cuarzo (picosegundos).

En este test el procesador levanta y baja el estado de un pin cuando inicia y sale de la interrupción del kernel. En la pizarra el diseño debería entrar al kernel cada milisegundo, y salir en 20 microsegundos. Cuando reviso el pin con osciloscopio, la pantalla dice lo mismo, sin atrasarse ni un sólo decimal, aunque esté repleto con otros hilos (threads)."





"¿Han hecho pruebas de latencia con Python?. Por ejemplo con el módulo time, hagan 100 mediciones de cronómetro de alguna tarea simple, como contar hasta 10 o recorrer una lista. Midan la latencia máxima y promedio. Ahora imaginen esas variaciones entre máximo y promedio en el freno ABS o el airbag.

Por eso los RTOS de las ECUs usan C y C++, y todavía no se escriben en Python."





Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado gustavopic

  • PIC18
  • ****
  • Mensajes: 417
Re:Phyton vs C/C++
« Respuesta #1 en: 08 de Abril de 2022, 16:05:21 »
y tenemos un humano volando al Paraíso."[/i]


cuantos quisieran tener eso garantizado  !!!