Python对象池机制

如题

在python源码中,对于小整数单个字符都使用了缓冲池机制,不同的是小整数的缓冲池是在python初始化时被创建的,而字符串对象体系中的字符缓冲池则是以静态变量的形式存在着。

python的所有对象,都是存活在系统堆上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef NSMALLPOSINTS
#define NSMALLPOSINTS 257
#endif
#ifndef NSMALLNEGINTS
#define NSMALLNEGINTS 5
#endif
#if NSMALLNEGINTS + NSMALLPOSINTS > 0
/* References to small integers are saved in this array so that they
can be shared.
The integers that are saved are those in the range
-NSMALLNEGINTS (inclusive) to NSMALLPOSINTS (not inclusive).
*/
static PyIntObject *small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
#endif

id(a),id(b)