Close Menu
SocialRed.topSocialRed.top
  • Inicio
  • Facebook
  • Instagram
  • Tik Tok
  • Twitch
  • WhatsApp
  • YouTube
  • Politica de Privacidad
  • Contacto

Subscribe to Updates

Get the latest creative news from FooBar about art, design and business.

What's Hot

Los Game Awards plantean una vieja pregunta: ¿qué significa indie?

diciembre 2, 2023

Walmart dice que ya no hace publicidad en X

diciembre 2, 2023

Deje atrás #FinTok: YouTube es el destino digital líder para asesoramiento bancario entre los millennials y la Generación Z.

diciembre 2, 2023
Facebook X (Twitter) Instagram
  • Inicio
  • Politica de Privacidad
  • Contacto
Facebook X (Twitter) Instagram Pinterest VKontakte
SocialRed.topSocialRed.top
  • Facebook

    Nuestro trabajo para combatir a los depredadores en línea

    diciembre 1, 2023

    Una década avanzando en los últimos avances en inteligencia artificial a través de la investigación abierta

    diciembre 1, 2023

    Meta Quest 3: un regalo navideño que transformará tu hogar

    noviembre 29, 2023

    Cómo planea Meta las elecciones de 2024

    noviembre 29, 2023

    Estudio sobre la transformación del sistema de reparación de quejas de los consumidores en la India con GenAI

    noviembre 28, 2023
  • Instagram

    Cómo promocionar con éxito su empresa en Internet: 10 consejos prácticos

    septiembre 23, 2023

    Cómo promocionar con éxito su empresa en línea: 10 consejos prácticos

    agosto 19, 2023

    Cómo poner una foto de fondo detrás de los carretes en una historia de Instagram

    junio 14, 2023

    Evite estos 10 errores de hashtag de Instagram

    abril 15, 2023

    ¿Cómo hacer un fondo transparente en Instagram Story? (+ 4 trucos extra)

    marzo 24, 2023
  • Tik Tok

    Cómo llegar a ser influyente | fotomagazin.de

    enero 8, 2023

    ¿TikTok tiene sentido para los fotógrafos?

    enero 5, 2023

    5 consejos para mejorar los videos de TikTok

    enero 2, 2023

    TikTok: ¿quién o qué está ahí?

    diciembre 30, 2022

    TikTok Ads: nuevas oportunidades publicitarias

    diciembre 27, 2022
  • Twitch

    Los Game Awards plantean una vieja pregunta: ¿qué significa indie?

    diciembre 2, 2023

    Walmart dice que ya no hace publicidad en X

    diciembre 2, 2023

    Las metaaplicaciones siguen promoviendo contenido sobre depredación infantil, según un informe

    diciembre 1, 2023

    Huawei supuestamente está construyendo una red de chips autosuficiente utilizando un fondo de inversión gubernamental

    diciembre 1, 2023

    El Cybertruck de Tesla es una fantasía de masturbación distópica

    diciembre 1, 2023
  • WhatsApp

    Estas 4 características geniales están llegando a nosotros

    diciembre 19, 2022

    Estos son 10 favoritos en Alemania

    diciembre 18, 2022

    Cómo eliminar un recibo de lectura

    diciembre 17, 2022

    Facebook fusiona Messenger e Instagram

    diciembre 16, 2022

    Entonces te proteges de virus peligrosos y compañía.

    diciembre 16, 2022
  • YouTube

    Deje atrás #FinTok: YouTube es el destino digital líder para asesoramiento bancario entre los millennials y la Generación Z.

    diciembre 2, 2023

    YouTube lanza más de 30 minijuegos jugables para usuarios premium

    noviembre 29, 2023

    YouTube comienza las pruebas públicas del desarrollo del juego Playables

    noviembre 28, 2023

    Las camisetas «Dickipedia» de Smosh son una respuesta a los comentarios de Elon Musk sobre Wikipedia.

    octubre 29, 2023

    Tony Weaver Jr. pasa de TikTok a las estanterías con un acuerdo de novela gráfica de Macmillan (exclusivo)

    octubre 29, 2023
  • Twitter

    Los estafadores tienen como objetivo la verificación de Twitter

    octubre 10, 2023

    La marca azul pronto costará dinero

    octubre 5, 2023

    Esto es lo que ganarán los jefes de Twitter si Elon Musk los despide

    septiembre 16, 2023

    ¿Eliminar Twitter por culpa de Elon Musk? ¡Dale una oportunidad al pájaro!

    agosto 28, 2023

    El precio de Dogecoin sube después del acuerdo de Twitter: ¿Qué está haciendo Elon Musk?

    agosto 18, 2023
  • Influencers

    7 de las mejores estrategias de marketing de hashtags para probar en 2022

    noviembre 30, 2023

    La guía definitiva para anuncios IGTV

    noviembre 29, 2023

    Cómo las marcas pueden utilizar los desafíos de TikTok para hacer crecer su negocio

    octubre 30, 2023

    Cómo construir su marca personal en 2022

    octubre 24, 2023

    16 de las mejores plantillas de superposición de Twitch gratuitas y premium para 2022

    octubre 20, 2023
  • Blog

    Cómo superar a tus competidores en 6 pasos

    noviembre 29, 2023

    Descripción del puesto y principales responsabilidades.

    octubre 28, 2023

    Nueva actualización de Instagram: vídeo de logros

    octubre 20, 2023

    Las 17 herramientas de SEO de Google que deberías haber utilizado ayer

    octubre 19, 2023

    LinkedIn despide a casi 700 empleados

    octubre 18, 2023
SocialRed.topSocialRed.top
Home - Facebook
Facebook

Meta agrega nuevas funciones en Python 3.12

Heidi J. KirbyPor Heidi J. Kirbyoctubre 5, 2023No hay comentarios8 Min Lectura
Facebook Twitter Pinterest LinkedIn Tumblr Email
Meta agrega nuevas funciones en Python 3.12
Compartir
Facebook Twitter LinkedIn Pinterest Email
  • ¡Python 3.12 ya está disponible! Incluye nuevas características y mejoras de rendimiento (algunas de las cuales son proporcionadas por Meta) que creemos beneficiarán a todos los usuarios de Python.
  • Compartimos detalles sobre estas nuevas funciones en las que trabajamos estrechamente con la comunidad de Python para desarrollar.

El episodio de esta semana Pitón 3.12 Marca un hito importante en nuestros esfuerzos por desarrollar y escalar Python para casos de uso Meta. más accesible para la comunidad Python en general. El código abierto en Meta es una parte importante de nuestro trabajo y de compartir conocimientos con la comunidad.

Hemos estado compartiendo nuestro trabajo en Python y CPython durante varios años a través de nuestro tiempo de ejecución de Python de código abierto. Ceniza. También trabajamos estrechamente con la comunidad de Python para introducir nuevas características y optimizaciones para mejorar el rendimiento de Python y permitir que terceros experimenten más fácilmente con optimizaciones del tiempo de ejecución de Python.

Con el lanzamiento de Python 3.12, colaboramos con la comunidad de Python en varias categorías de características:

  • Objetos inmortales
  • Mejoras en el sistema de tipos
  • Optimización del rendimiento
  • Nuevos hitos
  • Ganchos para escoria

Tabla de Contenidos

  • Objetos inmortales
  • Mejoras en el sistema de tipos
  • Optimización del rendimiento
    • Comprensión más rápida
    • Tareas asincrónicas impacientes
    • Otras mejoras de asincio
    • Más rápido súper() llamadas
    • Otras optimizaciones de rendimiento
  • Nuevos hitos
  • Ganchos para escoria
  • Más allá de Python 3.12
  • Expresiones de gratitud

Objetos inmortales

Objetos inmortales – PEP 683 le permite crear objetos Python que no están involucrados en conteo de referenciay vivirá hasta que salga el intérprete de Python. motivación original El objetivo de esta función era reducir el uso de memoria al bifurcar la carga de trabajo del servidor web de Instagram al reducir la cantidad de copias sobre escritura causadas por las actualizaciones del recuento de enlaces.

Los objetos inmortales también son un paso importante hacia objetos Python verdaderamente inmutables que se pueden compartir entre intérpretes de Python sin necesidad de bloquearlos, como el uso de un bloqueo de intérprete global (GIL). varios subintérpretes o Multihilo sin GIL.

Mejoras en el sistema de tipos

El equipo de ingeniería detrás HogueraSe creó e implementó un verificador de tipo Python de código abierto. PEP 698 agregar @escribiendo.override un decorador que ayuda a evitar errores al refactorizar jerarquías de herencia de clases que utilizan la anulación de métodos.

Los desarrolladores de Python pueden aplicar este nuevo decorador a un método de subclase que anula un método de clase base. Como resultado, los verificadores de tipos estáticos podrán advertir a los desarrolladores si la clase base se cambia de tal manera que el método anulado ya no exista. Los desarrolladores pueden evitar convertir accidentalmente una anulación de método en código inactivo. Esto aumenta su confianza en la refactorización y ayuda a que su código sea más fácil de mantener.

Optimización del rendimiento

Comprensión más rápida

En versiones anteriores de Python, todas las comprensiones se compilaban como funciones anidadas y cada ejecución de una comprensión asignaba y destruía un objeto de función de Python único.

En Python 3.12 PEP 709 incorpora todas las listas, dictados y conjuntos para mejorar la productividad (hasta dos veces en el mejor de los casos).

La implementación y depuración de PEP 709 también reveló un error en el compilador de código de bytes preexistente que podría causar que el código se ejecutara silenciosamente de manera incorrecta en Python 3.11, que es lo que hicimos. fijado.

Tareas asincrónicas impacientes

Si bien el soporte de programación asincrónica de Python proporciona paralelismo de proceso único, también introduce una notable sobrecarga en el tiempo de ejecución. Cada llamada a función asincrónica crea un objeto de rutina adicional, y la biblioteca asyncio estándar a menudo introduce una sobrecarga adicional como Tarea objetos y planificación del ciclo de eventos.

Hemos notado que en la práctica, en una base de código totalmente asíncrona, muchas funciones asíncronas a menudo pueden devolver un resultado inmediatamente sin necesidad de hacer una pausa. (Esto puede estar relacionado con la memorización, por ejemplo). En estos casos, si el resultado de la función se espera inmediatamente (p. ej. espera a some_async_func(), (la forma más común de llamar a una función asincrónica), los objetos de rutina/tarea y la programación de bucles de eventos pueden suponer una sobrecarga innecesaria.

Cinder elimina esta sobrecarga mediante la ejecución asincrónica activa. Si se espera una llamada a una función asincrónica inmediatamente, se llama con un conjunto de indicadores que le permite devolver el resultado directamente, si es posible, sin crear un objeto de rutina. Si asincrónicamente.recopilar() se espera de inmediato, y todas las funciones asíncronas que recopila pueden regresar de inmediato, sin necesidad de crear nunca Tarea o programarlo en un bucle de eventos.

La ejecución completamente asíncrona sería un cambio invasivo (e importante) en Python y no funciona con el nuevo Python 3.11+. Tarea grupal API para gestionar tareas paralelas. Entonces, en Python 3.12 agregamos una versión más simple de esta función: tareas asincrónicas impacientes. En el caso de tareas impacientes, los objetos de rutina y Tarea aún se crean cuando el resultado está disponible de inmediato, pero a veces podemos evitar programar una tarea en el bucle de eventos y resolverla de inmediato.

Es más eficiente, pero es un cambio semántico, por lo que esta función suscríbete a través de la fábrica de tareas personalizadas.

Otras mejoras de asincio

También aterrizamos más rápido Implementación en C de asyncio.current_task Y optimización para crear una tarea asincrónica muestra gane hasta un 5 por ciento en pruebas asincio.

Más rápido súper() llamadas

Nuevo Código de operación LOAD_SUPER_ATTR optimiza el código del formulario super().attr Y super().método(…). Anteriormente, dicho código tenía que asignar y luego descartar un «súper» objeto único cada vez que se ejecutaba. Ahora tiene un poco más de sobrecarga que una llamada a un método normal o un acceso a atributos.

Otras optimizaciones de rendimiento

También conseguimos dos hasattr mejoramiento Y Mejora del rendimiento 3,8 veces mayor para unittest.mock.Mock.

Nuevos hitos

Cuando optimizamos Python para uso interno en Meta, generalmente podemos probar y validar nuestras optimizaciones directamente en cargas de trabajo reales. El trabajo de optimización de Python de código abierto no requiere tal carga de trabajo para las pruebas y debe ser eficiente (y evitar la regresión) bajo una variedad de cargas de trabajo.

Conjunto de pruebas de rendimiento de Python es un conjunto estándar de pruebas utilizadas en la optimización de Python de código abierto. Durante el ciclo de desarrollo de la versión 3.12, le agregamos varias pruebas nuevas para reflejar con mayor precisión las características de la carga de trabajo que vemos en Meta.

Agregamos:

Ganchos para escoria

Algunas partes de Cinder (nuestro compilador JIT Y Python estático) no tendría sentido como parte del CPython original (debido al soporte limitado de la plataforma, C vs. C++, cambios semánticos y tamaño del código), por lo que nuestro objetivo es empaquetarlos como un módulo de extensión CinderX independiente.

Esto requiere una serie de interceptores nuevos en el tiempo de ejecución principal. Agregamos muchos de estos ganchos en Python 3.12:

Estas mejoras serán útiles para cualquiera que cree un compilador JIT de terceros o un optimizador de tiempo de ejecución para CPython. También hay planes para utilizar observadores dentro del kernel CPython.

Más allá de Python 3.12

Python juega un papel importante en Meta. Esta es una parte importante de nuestra infraestructura, incluyendo Pila de servidores de Instagram. Y esta es la lengua franca para nuestro trabajo en el campo de la inteligencia artificial y el aprendizaje automáticoDestacado por nuestro desarrollo. PyTorchun marco de aprendizaje automático para una amplia gama de casos de uso, incluida la visión por computadora, el procesamiento del lenguaje natural y más.

Nuestro trabajo con la comunidad Python no termina con el lanzamiento de la versión 3.12. Actualmente estamos discutiendo una nueva propuesta. PEP 703, con el Consejo Orientador de Python elimine el GIL y permita que Python se ejecute en varios subprocesos en paralelo. Esta actualización puede ser de gran ayuda para cualquiera que utilice Python en un entorno de subprocesos múltiples.

La participación de Meta en la comunidad Python también se extiende más allá del código. En 2023 continuamos nuestro apoyo Programa de desarrollador residente de Python y eventos patrocinados como Picón EE.UU.. También compartimos nuestros conocimientos en conversaciones como «Rompiendo los límites: avances en inteligencia artificial de alto rendimiento y aprendizaje automático con el compilador Python PyTorch» Y Publicaciones del blog de metaingeniería.

Estamos agradecidos de ser parte de esta comunidad de código abierto y esperamos trabajar juntos para hacer avanzar el lenguaje de programación Python.

Expresiones de gratitud

El autor desea agradecer a las siguientes personas por sus contribuciones a todas estas nuevas funciones: Eddie Elizondo, Vladimir Matveev, Itamar Oren, Stephen Troxler, Joshua Xu, Shannon Zhu, Jacob Bauer, Pranav Thulasiram Bhat, Ariel Lin, Andrew. Frost y Sam Gross.

Artículo Recomendado:
¿Qué es y qué podemos hacer al respecto?
agrega funciones Meta nuevas Python
Compartir. Facebook Twitter Pinterest LinkedIn Tumblr Email
Heidi J. Kirby
Heidi J. Kirby

Publicaciones Relacionadas

Nuestro trabajo para combatir a los depredadores en línea

diciembre 1, 2023

Una década avanzando en los últimos avances en inteligencia artificial a través de la investigación abierta

diciembre 1, 2023

Meta Quest 3: un regalo navideño que transformará tu hogar

noviembre 29, 2023

Cómo planea Meta las elecciones de 2024

noviembre 29, 2023
Añade un comentario

Deja una Respuesta Cancelar Respuesta

Publicaciones Recientes

Celebrando a los ganadores de la Beca Future Africa para Creadores de Realidad Aumentada

octubre 8, 2022

Honrando a las mujeres que inspiran a la India y al mundo

marzo 31, 2023

GM detiene los anuncios de Twitter para medir su dirección bajo Elon Musk

octubre 29, 2022

Según los informes, 343 ‘comenzaron desde cero’ desarrollo de Halo después de los despidos

enero 31, 2023
Recomendamos

Los competidores experimentales de Google ChatGPT incluyen un robot de búsqueda y una herramienta llamada The Bard’s Apprentice.

Por Paul K. Cantwell

Facebook está desarrollando un caparazón artificial para el Metaverso

Por Yauci Gamiz

TOP 15 expertos en redes sociales de EE. UU. en EE. UU. en 2022

Por Yauci Gamiz

Lisfanga es lo que sucede cuando el hack-n-slash se encuentra con el viaje táctico en el tiempo

Por Paul K. Cantwell
SocialRed.top
Facebook X (Twitter) Instagram Pinterest Vimeo YouTube
  • Inicio
  • Politica de Privacidad
  • Contacto
© 2023 Social Red | Todos los derechos reservados

Type above and press Enter to search. Press Esc to cancel.