¿Por qué python es tan lento?

Поділитися
Вставка
  • Опубліковано 11 кві 2024
  • 🤖 Curso "Crea apps con Inteligencia Artificial desde cero":
    julioandres.dev/curso-intelig...
    🚀 ¿Quieres concretar un proyecto de Inteligencia Artificial y no sabes como empezar, o como abordarlo? Agendame una reunión y hablemos: cal.com/julioandres/consultor...
    ► Cursos
    🦀 Mi curso de Rust con descuento: julioandres.dev/curso-complet...
    📲 Mi curso de Flutter con descuento: julioandres.dev/curso-flutter...
    ► Háblame por acá
    / julioandresdev
    / julioandresdev
    / julio-andres-olivares
  • Наука та технологія

КОМЕНТАРІ • 91

  • @adonisECM
    @adonisECM 3 місяці тому +31

    La rapidez de Python está en el tiempo de desarrollo, no en la ejecución. jaja

    • @kingzwoody9851
      @kingzwoody9851 3 місяці тому +5

      si xd. es verdad, lento no es, depende en que área lo llevas a su máximo, en IA, es más pesado, en ciberseguridad, o en la programación web, pues no tiene lentitud en nada.

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому +1

      concuerdo 👌

    • @robergroso
      @robergroso 3 місяці тому +2

      es relativo, cuando estás muy acostumbrado a desarrollar en java, por ejemplo tardo la mitad q haciendo lo mismo en python q uso aveces, entonces python solo es rápido para el q no sabe otra cosa

    • @MrBudin2012
      @MrBudin2012 3 місяці тому

      Solito te contradices xD. De que me vale que en desarrollo sea rápido si en la ejecución no es eficiente?

    • @adonisECM
      @adonisECM 3 місяці тому +2

      @@MrBudin2012 La lentitud de python solo se percibe cuando haces comparaciones con lenguajes compilados o lo sometes a pruebas que no se dan en contextos reales, y bueno por si no lo sabes la rapidez de desarrollo es bastante valorada en hacking y scripting.

  • @profeppp
    @profeppp 3 місяці тому +3

    Esto se puede arreglar usando numba. Con decoradores @jit en las funciones que requieren alto desempeño se consigue la compilación justo a tiempo y el código se acelera de 100 a 1000 veces. Otra opción es usar numpy apropiadamente

  • @jupiter232169
    @jupiter232169 3 місяці тому +7

    Pyton y PHP fueron creados en C, es una razón por la cual su rendimiento es bueno para lo que re requieren aunque PHP 8 le lleva bastante ventaja a Pyton en rapidez apesar de que ambos son de uso general, multiparadigma y su eeeenooorme flexibilidad, la verdad me ha gustado más estos dos lenguajes que por ejempo Java.
    Saludos y gracias por el video

  • @miguelfasanella6042
    @miguelfasanella6042 3 місяці тому

    Excelente video! Gracias por el contenido

  • @santosmarte
    @santosmarte 3 місяці тому +2

    Soy pythonista love forever, pero tengo que admitir que tienes razón en este video. Las ventaja de python para mi principalmente están en lo cerca al lenguaje humano que esta, lo fácil de aprender y todo el amplio y complejo entorno que le acompaña.

  • @jofradev
    @jofradev 3 місяці тому

    Gracias por el contenido 👏👏👏

  • @EsneyderAlvarez
    @EsneyderAlvarez 3 місяці тому +3

    Python + Celery con una combinación poderosa para cualquier tipo de desarrollo, sea grande o pequeño. ahi es donde desatas el poder de python

  • @jordyortiz1197
    @jordyortiz1197 3 місяці тому

    Que buen vídeo, bien explicado.

  • @brayanceron_
    @brayanceron_ 3 місяці тому +3

    Mojo tiene buena pinta en cuanto a rendimiento, aunque su desarrollo avanza muy lento

  • @nicolaspauer582
    @nicolaspauer582 3 місяці тому

    En 2 dias hice un buscador de libros grafico mediante archivo csv, todo aprovechando la llamada a una biblioteca escrita en C mediante el módulo gi

  • @nicolaspauer582
    @nicolaspauer582 3 місяці тому

    Y si se usan espacios en vez de tabuladores mas lento se pone, pero haciendo un buen algoritmo que rn vez de ser complicado use una herramienta simple pero sacandole el máximo provecho se puede mejorar

  • @SeekingAura
    @SeekingAura 3 місяці тому +2

    Cada lenguaje es como una herramienta y cada herramienta tiene su propósito, en el caso general de la velocidad hay ciertos modulos de bajo nivel que lo mejoran como Numba.
    En general si se quiere algo realmente rapido crear es necesario trabajar al mas bajo nivel posible y definir el procesador, describir el hardware para el caso especifico.

    • @privateroot
      @privateroot 3 місяці тому +1

      por eso el ecosistema de apple le pese a quien le pese esta optimizado hw y sw y por ello funciona como debe, no soy usuario del ecosistema pero reconozco que tiene lo suyo

    • @pedromendozaaristegui5974
      @pedromendozaaristegui5974 3 місяці тому +1

      Aun así ni con numba le gana a C++, FORTRAN, Julia Rust etc.

  • @3wcdev878
    @3wcdev878 3 місяці тому +1

    Me gustaria que hables del event loop, la sintaxis async await y la libreria asyncio en python y como ello lo lleva a ser comparable a lenguajes estaticamente tipados.

  • @hazlosipuedes
    @hazlosipuedes 3 місяці тому

    y en aplicaciones de escritorio el archivo final pesa mucho porque carga todas las librerias que usas, un simple hola mundo en pyqt pesa 150 megas.

  • @fytbliblish
    @fytbliblish 3 місяці тому

    Y pesado tambien si creas binarios o ejecutables

  • @unobuscando
    @unobuscando 3 місяці тому +2

    No acabo de entender por qué no hay un compilador de Python, y problema resuelto?

  • @geniusdesign7306
    @geniusdesign7306 3 місяці тому +1

    Cuando dicen qué es lento que toman como referencia?

  • @dariemperez6833
    @dariemperez6833 3 місяці тому

    Las mayorías de las aplicaciones se la pasan haciendo I/O, ya sea a disco, a red o a stdin/stdout/stderr. Entonces, no import mucho si la aplicación está escrita en C o en Python, porque estas operaciones de I/O van a ser 1000x y hasta 1000,000x más lentas que cualquier operación en CPU.

  • @christiandicostanzo154
    @christiandicostanzo154 3 місяці тому +1

    Python se puede precompilar tambiem.

  • @di3g0alvzth89
    @di3g0alvzth89 3 місяці тому

    Saludos

  • @felipeyanez988
    @felipeyanez988 3 місяці тому +3

    Hola Julio gracias por el contenido, una consulta, que te parece Rust para Data Science?

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому +5

      Es prometedor. Es un lenguaje más moderno y seguro (en términos de memoria), que C, por lo que podría reemplazar a muchas de las herramientas que hoy se ocupan en C,C++. Python por el otro lado sigue siendo muy bueno para probar cosas y avanzar rápido, muchos de los data scientists no son tan hardcore programadores, así que python es una excelente herramienta para ellos. Rust por el otro lado podría ser para cuando se necesita construir las herramientas ya finales, más optimizadas.
      Un caso representativo es Polars, construído en Rust, que podría reemplazar a Pandas (python y C/C++)

    • @pedromendozaaristegui5974
      @pedromendozaaristegui5974 3 місяці тому

      Si quieres utilizar uno moderno para código numérico, utiliza Julia

    • @nicolaspauer582
      @nicolaspauer582 3 місяці тому

      ​@@julioandresdev_esp ¿Se pueden hacer apps graficas con Rust tipo un ERP?

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому

      @@nicolaspauer582 Si

  • @user-sq8qi7cr8x
    @user-sq8qi7cr8x 3 місяці тому

    Que acerca de ZIG o MOJO ?

  • @enriquemartinez3380
    @enriquemartinez3380 3 місяці тому +1

    Si no hubiera limitaciones de conocimiento, qué lenguaje aconsejas desde el punto de vista del rendimiento?

  • @megasirob
    @megasirob 3 місяці тому +2

    Muy interesante 👀, ¿Pero cual es el limite para decir que el lenguaje "no existe" por el hecho de que pueda ser implementado de diversas formas? ¿Se podria decir que C y C++ tambien son especificaciones porque si bien compilan a assembler a su vez tambien segun el hardware utilizara un compilador diferente🤔 ?, Muy buen video 😀

  • @dei8bit
    @dei8bit 3 місяці тому +1

    Tengo una duda, que hay de servicios backend que usan python como fastAPI...
    ¿También se aplica este criterio o en ese aspecto cambia cambia?
    Porque de ser asi... ¿Qué servicios para realizar APIs y pedidos consideras los idóneos en términos generales?

    • @hazlosipuedes
      @hazlosipuedes 3 місяці тому +1

      asi es, python no es recursivo, no maneja multi hilos, y no es asincrono, para hacerlo necesitas librerias y no son muy naturales de implementar, por eso deje de aprender phyton, en el backend no es asincrono, y para escritorio el archivo final es muy perado, una simple calculadora de escritorio pera casi 300 megas,,, de locos,, phyton es para manejo de datos en eso es muy bueno.

    • @dei8bit
      @dei8bit 3 місяці тому

      ​@@hazlosipuedes ui, graciaspor responder.
      Yo que estaba tan entusiasmado con la idea de aprender FastAPI.
      Entiendo que en aplicaciones sencillas la Repercusion no es tanta, yo por mi parte ya aprendi un monton sobre python y la verdad me parece un lenguaje hermoso de codear.
      Que lastima que no sea multi hilo y sea interptetado, cambiando estas dos cosas quizas el panorama seria totalmente diferentes.
      Por otro lado es muy interesando lo que menciona julio dev, sobre hacer un MVP y en ultima instancia pasarlo a un lenguaje mas eficiente como Rust o c++ .
      Pero nose que tan conveniente es hacer eso, en comparacion con aprender un lenguaje eficiente y directamente desarrollarlo desde el principio en eso.
      A mi particularmente me encanta la sensacion de las aplicaciones muy bien optimizadas que fluyen muy bien, yo por ejmeplo no tengo una super pc, y estas aplicaciones realmente hacen la diferencia,
      Ejemplos de esto serian Notion (muy mal optimizada) y AnyType (muchisimo mas optimizada)
      Sinceramente el dia de mañana Me gustaria crear aplicaciones pensadas para que sean lo mas eficientes posibles para que cualquiera pueda disfrutar de estas, tanto estetica como productivamente, asi como yo disfruto de las buenas aplicaciones ☺♥

    • @fullpeliculafhdhdsd9242
      @fullpeliculafhdhdsd9242 3 місяці тому +2

      ​@@hazlosipuedes Creo que tiene un mal entendimiento de Python. Es imposible que una calculadora tenga ese peso, a menos que lo que hiciste fue compilar el programa con todas las librerías que tenías instalada en la PC.
      Para evitar eso, debes crear un entorno virtual e instalar las cosas necesaria en ese entorno, y verá que pesará menos. python -m venv virtual

    • @3wcdev878
      @3wcdev878 3 місяці тому +1

      multiprocessing y asyncio y listo ya tienes tu python multihilo y asincrono. Que no quieras aprenderlo, es otro tema.

  • @nicosoft1399
    @nicosoft1399 3 місяці тому +2

    Para aclarar, los ejemplos que da con las variables de Python están quedando obsoletos, frameworks modernos de Python como FastAPI cada vez impulsan más usar los typehints que desde hace un buen tiempo están siendo mejores y son en Python directamente, no como lo que hace JavaScript y typescript, que palabras más palabras menos es como montar un lenguaje encima de otro lenguaje, no se lo tomen personal js lovers igual typescript es bello, pero hablémonos sin tapujos.

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому +2

      type hints son geniales y los recomiendo de usar, pero son sólo para el desarrollador, los IDEs, y herramientas de análisis estático (linters), el interpreter no las toma en cuenta. Para el interpreter un código python con type hints es igual a un código sin type hints, igual tiene que estar chequeando los tipos, por que es un lenguaje de tipo dinámico, y según la gente detrás "los autores no tienen intenciones de hacer type hints mandatorios" peps.python.org/pep-0484/#non-goals

  • @cold_zeven
    @cold_zeven 3 місяці тому

    me queda la duda de como funciona la libreria de multiprocessing si GIL permite que solo 1 hebra use el interprete

    • @3wcdev878
      @3wcdev878 3 місяці тому

      crean unos procesos llamados "Locks" donde tras bambalinas multiprocessing utiliza cython para asignar memoria dentro del mismo proceso asi el GIL puede correr sobre ese Lock.

  • @sanchez-emir
    @sanchez-emir 3 місяці тому

    Buen video, tendrás cupón para tu curso de ia?

  • @marly7549
    @marly7549 2 місяці тому

    Python por si solo es lento. Se necesita utilizar mucho las librerias para mejorar el tiempo de ejecucion

  • @JulioFuentes1
    @JulioFuentes1 3 місяці тому +8

    Java es lento...
    C# es lento....
    Python es lento...
    Javascript es lento...
    RESPUESTA:
    Mal código

    • @alecg223
      @alecg223 3 місяці тому +2

      Respuesta: Pentium 200Mhz con 16 MB RAM xD xD

    • @yonicito1459
      @yonicito1459 Місяць тому

      No necesariamente, si tu programa es muy grande, complejo o tiene muchas llamadas entre métodos tenderá a ser más lento en Python que en otros lenguajes como C# o Java

  • @pedromendozaaristegui5974
    @pedromendozaaristegui5974 3 місяці тому

    Si

  • @pablohorchmontespulido1433
    @pablohorchmontespulido1433 3 місяці тому +1

    me gusto el conetnido asi que comento con tal de darle mas viralizacion

  • @brainleapstudios
    @brainleapstudios 3 місяці тому +1

    es posible para un futuro que no sea interpretado si no compilado?

    • @DanielaGiovanniMartinez
      @DanielaGiovanniMartinez 3 місяці тому +1

      Seria un trabajo de migracion muy grande.
      Python en si tuvo problemas para pasar de python 2 a 3, son incompatibles.
      Deberian reescribir el codigo a Rust, crear un compilador.
      O usar la tecnica de javascript pero eso tambien requiere un arduo trabajo.

    • @nicolaspauer582
      @nicolaspauer582 3 місяці тому

      Por el momento solo los pyc o programar un módulo en Python que escriba archivos con el código optimizado

    • @DanielaGiovanniMartinez
      @DanielaGiovanniMartinez 3 місяці тому +1

      @@nicolaspauer582
      Realmente siento si alguien se pone a eso podra, con Rust, como javascript, todo esta siendo migrado a Rust las herramientas a entorno a Javascript

  • @InlineEAX
    @InlineEAX 3 місяці тому +1

    C y C++ no existe, existen implementaciones de los estándares, los cuales los compiladores lo implementan según los estándares, pero a su vez le agregan cosas que no son estándares... Ulalá señor "Assembler inline" con diferentes sintaxis tipo intel o at&t...

  • @alejandroioio6784
    @alejandroioio6784 3 місяці тому +2

    No, python no es lento, las personas no logran entender la diferencia entre un lenguaje y su implementación, normalmente cuando se dice python es "lento" see están refiriendo a cpython, hay una infinidad de implementaciones de python algunas incluso son compiladas, otras usan jit, en el caso de cpython "python" es un fronten para c++ y este python fue siempre y repito siempre diseñado para ser extendido en c++ allá donde sea necesario, por otro lado el gil ya paso a ser opcional en las ultimas versiones aunque siempre si pudo usar la cpu con processing o con otros inerpretes.

    • @jesuszerpa2964
      @jesuszerpa2964 3 місяці тому +2

      Si concuerdo contigo, realmente es tendencia decir que python es lento cuando en realidad no lo es, pero se entiende que lo que se busca de resaltar son los puntos en los que python es lento para si mismo y al saberlo poder manejarlos mejor, lo curioso de todo esto es que para desarrollos mas complejos o largos python y bajo un sevidor optimo un programa en python es mas rapido que el mismo hecho en otro lenguaje y esto es porque gracias a ser un lenguaje mas facil de comprender y depurar se pueden solucionar mas facilmente los errores o problemas de rendimientos que otros lenguajes por no hacerte un trazo bien del error o no mostrartelo no te lo permite al menos de una manera sencilla

    • @freddydev3562
      @freddydev3562 3 місяці тому

      @@jesuszerpa2964 ajajajajajaj

  • @darvin_delgado
    @darvin_delgado 3 місяці тому +1

    Con Python 3.13 CPython vendrá con un JIT.

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому +1

      Interesante, tienes razón, no sabía eso, gracias por comentarlo.
      docs.python.org/3.13/whatsnew/3.13.html#whatsnew313-jit-compiler

  • @user-ry8nd6pv8z
    @user-ry8nd6pv8z 3 місяці тому +1

    lento es java en desarrollo y ejecución, python es mejor.

    • @NooneNolimit
      @NooneNolimit 3 місяці тому

      Jajajaj aprende poo de una vez por todas.

  • @javiergarciafillol4454
    @javiergarciafillol4454 3 місяці тому +1

    Es lento respecto a que.. si lo comparas con C o lenguaje de maquina es normal.. si lo comparas con JavaScript php pues no

  • @juancarlospizarromendez3954
    @juancarlospizarromendez3954 3 місяці тому +1

    PyPy ayudará a que el intérprete de Python no sea tan lento, pero según las pruebas, podría tener problemas de uso extensivo de memoria.

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому +1

      no estoy muy familiarizado con PyPy, pero no me extrañaría, nada es gratis así que la optimización en un lado, debe impactar otro lado.

  • @user-ry8nd6pv8z
    @user-ry8nd6pv8z 3 місяці тому

    lento?

    • @freddydev3562
      @freddydev3562 3 місяці тому

      si es lento ese lenguaje del grupo LGBT

  • @nicoall7685
    @nicoall7685 3 місяці тому +2

    Yo pienso que IA debería de comenzar utilizar lenguajes serios como C, Java. Pienso que Python es para neófitos y aficionados

    • @GabrielxC
      @GabrielxC 3 місяці тому +1

      Pienso igual que usted buen señor, lo que sucede actualmente es que todas las librerías serias estan en python, por ejemplo ahora mismo estoy haciendo mi propia lib de NN en c

    • @paulcardenas9497
      @paulcardenas9497 3 місяці тому +1

      Además que mucho se habla de que python es multifuncion, pero se queda muy corto en el desarrollo profesional de servicios web, UI y arquitecturas en capas reales.

    • @3wcdev878
      @3wcdev878 3 місяці тому +1

      Python = Cython = C, el nivel de abstraccion que usas representa la "seriedad" que le pones a tus proyectos, si alguna parte de tu app python te parece lenta siempre puedes desarrollar una extension en cython y compilarla con herramientas de C.

    • @nicolaspauer582
      @nicolaspauer582 3 місяці тому

      C no es tan serio, cometeran muchas alucinaciones, una vez me paso programando en C que al intentar acceder por curiosidad a elementos fuera del rango de la lista en vez de tirar error tiró caracteres al azar como si fueran esos elementos. Además para usar la biblioteca hay que pasarle al compilador un parámetro especial para que la enlace sino tira error

    • @GabrielxC
      @GabrielxC 3 місяці тому +1

      @@nicolaspauer582 Eso fue un error tuyo, programa bien

  • @nicoall7685
    @nicoall7685 3 місяці тому

    Por qué en tu oficina tienes tu cocina 🤣🤣🤣🤣🤣así utilizas Python 🐍 😂😂😂

    • @julioandresdev_esp
      @julioandresdev_esp  3 місяці тому +1

      nunca sabes cuando puedes necesitar aceite de oliva para debuguear python