Guido van Rossum pretende lograr un aumento do rendemento 3.11x en CPython XNUMX

Guido van Rossum, creador da linguaxe de programación Python, falou dos plans para optimizar o rendemento de CPython no seu informe no Python Language Summit. Na versión 3.11, que se espera en 2022, os desenvolvedores esperan duplicar o rendemento. O proxecto de optimización de CPython está a levar a cabo un pequeno equipo de desenvolvedores de Microsoft, onde Guido se uniu recentemente.

Ao implementar o proxecto, os desenvolvedores pretenden unirse a unha serie de restricións, como manter a compatibilidade total a nivel de código e ABI, así como a inadmisibilidade de aumentar o rendemento debido á desaceleración nos casos extremos. Entre os compoñentes que se poden cambiar para mellorar o rendemento están o bytecode, a colocación de datos na memoria, o compilador e o intérprete.

Os desenvolvementos do proxecto publícanse nun repositorio de cpython máis rápido. Un dos participantes do proxecto, que desenvolveu previamente o compilador HotPy JIT para CPython, publicou un plan segundo o cal considera realista aumentar a produtividade por cinco veces e acadar este resultado na versión de Python 3.13. O proxecto divídese en catro etapas:

  • Python 3.10 prevé implementar optimizacións no intérprete relacionadas coa adaptación do proceso de interpretación a tipos e valores en tempo de execución.
  • Espérase que o lanzamento de Python 3.11 introduza melloras no tempo de execución e nos obxectos clave, así como a inclusión de moitas pequenas optimizacións especializadas, como acelerar os operadores binarios e traballar con valores enteiros que se axusten a unha palabra da máquina, acelerando chamada e retorno de funcións, reducindo a sobrecarga durante a operación con memoria e manexo de excepcións.
  • Python 3.12 introducirá un simple compilador JIT para unha pequena parte de código especializado.
  • Python 3.13 engadirá novas capacidades de xeración de código nativo en tempo de execución e un uso ampliado do compilador JIT.

Fonte: opennet.ru

Engadir un comentario