未加星标

CPython sprint, september 2016

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

I was invited at my first Cpython sprint in September! Five days, September 5-9, at Instagram office in California, USA. The sprint was sponsored by Instagram, Microsoft, and the PSF.

First little game:Many happy faces, but Where is Victor?


CPython sprint, september 2016

IMHO it was the most productive CPython week ever :-) Having Guido van Rossum in a room helped to get many PEPs accepted. Having a lot of highly skilled reviewers in the same room helped to get many new features and many PEP implementations merged much faster than usual.

Second little game:try to spot the sprint on the CPython commit statistics of the last 12 months (Feb, 2016-Feb, 2017) ;-)


CPython sprint, september 2016
Compact dict

Issue #27350: I reviewed and pushed the "compact dict" implementation which makes Python dictionaries ordered (by insertion order) by default. It reduces the memory usage of dictionaries betwen 20% and 25%.

The implementation was written by INADA Naoki, based on the PyPy implementation, with a design by Raymond Hettinger.

FASTCALL

"Fast calls": Python 3.6 has a new private C API and a new METH_FASTCALL calling convention which avoids temporary tuple for positional arguments and avoids temporary dictionary for keyword arguments. Changes:

Add a new C calling convention: METH_FASTCALL Add _PyArg_ParseStack() function Add _PyCFunction_FastCallKeywords() function: issue #27810 Add _PyObject_FastCallKeywords() function: issue #27830 More efficient CALL_FUNCTION bytecode

I reviewed and pushed: "Rework CALL_FUNCTION* opcodes to produce shorter and more efficient bytecode" (issue #27213).

Patch writen by Demur Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka and me.

PEP 509: Add a private version to dict

Guido approved my PEP 509 "Add a new private version to the builtin dict type".

I pushed the implementation.

PEP 524: Make os.urandom() blocking on linux

I pushed the implementation of my PEP 524: "Make os.urandom() blocking on Linux".

Issue #27776: The os.urandom() function does now block on Linux 3.17 and newer until the system urandom entropy pool is initialized to increase the security.

Read my previous blog post for the painful story behind the PEP: PEP 524: os.urandom() now blocks on Linux .

Asynchronous PEP 525 and 530

Guido van Rossum approved two PEPs of Yury Selivanov:

PEP 525: Asynchronous Generators PEP 530: Asynchronous Comprehensions

I reviewed the huge C implementation with Yury on my side :-)

unicode_escape codec optimization

I reviewed and pushed "Optimize unicode_escape and raw_unicode_escape" (the isue #16334), patch written by Serhiy Storchaka.

Python 3.6 bugfixes

I happily found many issues including a major one: regular list-comprehension were completely broken :-)

Another minor issue: SyntaxError didn't reported the correct line number in a specific case.

Don't worry, Yury fixed both ;-)

Official sprint report

Read also the official report: Python Core Development Sprint 2016: 3.6 and beyond! .

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: LinuxPythonETHFUTICTIFAS
分页:12
转载请注明
本文标题:CPython sprint, september 2016
本站链接:http://www.codesec.net/view/534201.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(56)