php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_alloc_sizes.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Zend Engine |
4 +----------------------------------------------------------------------+
5 | Copyright (c) Zend Technologies Ltd. (http://www.zend.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 2.00 of the Zend license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.zend.com/license/2_00.txt. |
11 | If you did not receive a copy of the Zend license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@zend.com so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Authors: Dmitry Stogov <dmitry@php.net> |
16 +----------------------------------------------------------------------+
17*/
18
19#ifndef ZEND_ALLOC_SIZES_H
20#define ZEND_ALLOC_SIZES_H
21
22#define ZEND_MM_CHUNK_SIZE ((size_t) (2 * 1024 * 1024)) /* 2 MB */
23#define ZEND_MM_PAGE_SIZE (4 * 1024) /* 4 KB */
24#define ZEND_MM_PAGES (ZEND_MM_CHUNK_SIZE / ZEND_MM_PAGE_SIZE) /* 512 */
25#define ZEND_MM_FIRST_PAGE (1)
26
27#define ZEND_MM_MIN_SMALL_SIZE 8
28#define ZEND_MM_MAX_SMALL_SIZE 3072
29#define ZEND_MM_MAX_LARGE_SIZE (ZEND_MM_CHUNK_SIZE - (ZEND_MM_PAGE_SIZE * ZEND_MM_FIRST_PAGE))
30
31/* num, size, count, pages */
32#define ZEND_MM_BINS_INFO(_, x, y) \
33 _( 0, 8, 512, 1, x, y) \
34 _( 1, 16, 256, 1, x, y) \
35 _( 2, 24, 170, 1, x, y) \
36 _( 3, 32, 128, 1, x, y) \
37 _( 4, 40, 102, 1, x, y) \
38 _( 5, 48, 85, 1, x, y) \
39 _( 6, 56, 73, 1, x, y) \
40 _( 7, 64, 64, 1, x, y) \
41 _( 8, 80, 51, 1, x, y) \
42 _( 9, 96, 42, 1, x, y) \
43 _(10, 112, 36, 1, x, y) \
44 _(11, 128, 32, 1, x, y) \
45 _(12, 160, 25, 1, x, y) \
46 _(13, 192, 21, 1, x, y) \
47 _(14, 224, 18, 1, x, y) \
48 _(15, 256, 16, 1, x, y) \
49 _(16, 320, 64, 5, x, y) \
50 _(17, 384, 32, 3, x, y) \
51 _(18, 448, 9, 1, x, y) \
52 _(19, 512, 8, 1, x, y) \
53 _(20, 640, 32, 5, x, y) \
54 _(21, 768, 16, 3, x, y) \
55 _(22, 896, 9, 2, x, y) \
56 _(23, 1024, 8, 2, x, y) \
57 _(24, 1280, 16, 5, x, y) \
58 _(25, 1536, 8, 3, x, y) \
59 _(26, 1792, 16, 7, x, y) \
60 _(27, 2048, 8, 4, x, y) \
61 _(28, 2560, 8, 5, x, y) \
62 _(29, 3072, 4, 3, x, y)
63
64#endif /* ZEND_ALLOC_SIZES_H */