PHP 8.2.30
Preview: pycore_freelist.h Size: 4.70 KB
//proc/self/root/opt/alt/python313/include/python3.13/internal/pycore_freelist.h

#ifndef Py_INTERNAL_FREELIST_H
#define Py_INTERNAL_FREELIST_H
#ifdef __cplusplus
extern "C" {
#endif

#ifndef Py_BUILD_CORE
#  error "this header requires Py_BUILD_CORE define"
#endif

// PyTuple_MAXSAVESIZE - largest tuple to save on free list
// PyTuple_MAXFREELIST - maximum number of tuples of each size to save

#ifdef WITH_FREELISTS
// with freelists
#  define PyTuple_MAXSAVESIZE 20
#  define PyTuple_NFREELISTS PyTuple_MAXSAVESIZE
#  define PyTuple_MAXFREELIST 2000
#  define PyList_MAXFREELIST 80
#  define PyDict_MAXFREELIST 80
#  define PyFloat_MAXFREELIST 100
#  define PyContext_MAXFREELIST 255
# define _PyAsyncGen_MAXFREELIST 80
#  define _PyObjectStackChunk_MAXFREELIST 4
#else
#  define PyTuple_NFREELISTS 0
#  define PyTuple_MAXFREELIST 0
#  define PyList_MAXFREELIST 0
#  define PyDict_MAXFREELIST 0
#  define PyFloat_MAXFREELIST 0
#  define PyContext_MAXFREELIST 0
#  define _PyAsyncGen_MAXFREELIST 0
#  define _PyObjectStackChunk_MAXFREELIST 0
#endif

struct _Py_list_freelist {
#ifdef WITH_FREELISTS
    PyListObject *items[PyList_MAXFREELIST];
    int numfree;
#endif
};

struct _Py_tuple_freelist {
#if WITH_FREELISTS
    /* There is one freelist for each size from 1 to PyTuple_MAXSAVESIZE.
       The empty tuple is handled separately.

       Each tuple stored in the array is the head of the linked list
       (and the next available tuple) for that size.  The actual tuple
       object is used as the linked list node, with its first item
       (ob_item[0]) pointing to the next node (i.e. the previous head).
       Each linked list is initially NULL. */
    PyTupleObject *items[PyTuple_NFREELISTS];
    int numfree[PyTuple_NFREELISTS];
#else
    char _unused;  // Empty structs are not allowed.
#endif
};

struct _Py_float_freelist {
#ifdef WITH_FREELISTS
    /* Special free list
       free_list is a singly-linked list of available PyFloatObjects,
       linked via abuse of their ob_type members. */
    int numfree;
    PyFloatObject *items;
#endif
};

struct _Py_dict_freelist {
#ifdef WITH_FREELISTS
    /* Dictionary reuse scheme to save calls to malloc and free */
    PyDictObject *items[PyDict_MAXFREELIST];
    int numfree;
#endif
};

struct _Py_dictkeys_freelist {
#ifdef WITH_FREELISTS
    /* Dictionary keys reuse scheme to save calls to malloc and free */
    PyDictKeysObject *items[PyDict_MAXFREELIST];
    int numfree;
#endif
};

struct _Py_slice_freelist {
#ifdef WITH_FREELISTS
    /* Using a cache is very effective since typically only a single slice is
       created and then deleted again. */
    PySliceObject *slice_cache;
#endif
};

struct _Py_context_freelist {
#ifdef WITH_FREELISTS
    // List of free PyContext objects
    PyContext *items;
    int numfree;
#endif
};

struct _Py_async_gen_freelist {
#ifdef WITH_FREELISTS
    /* Freelists boost performance 6-10%; they also reduce memory
       fragmentation, as _PyAsyncGenWrappedValue and PyAsyncGenASend
       are short-living objects that are instantiated for every
       __anext__() call. */
    struct _PyAsyncGenWrappedValue* items[_PyAsyncGen_MAXFREELIST];
    int numfree;
#endif
};

struct _Py_async_gen_asend_freelist {
#ifdef WITH_FREELISTS
    struct PyAsyncGenASend* items[_PyAsyncGen_MAXFREELIST];
    int numfree;
#endif
};

struct _PyObjectStackChunk;

struct _Py_object_stack_freelist {
    struct _PyObjectStackChunk *items;
    Py_ssize_t numfree;
};

struct _Py_object_freelists {
    struct _Py_float_freelist floats;
    struct _Py_tuple_freelist tuples;
    struct _Py_list_freelist lists;
    struct _Py_dict_freelist dicts;
    struct _Py_dictkeys_freelist dictkeys;
    struct _Py_slice_freelist slices;
    struct _Py_context_freelist contexts;
    struct _Py_async_gen_freelist async_gens;
    struct _Py_async_gen_asend_freelist async_gen_asends;
    struct _Py_object_stack_freelist object_stacks;
};

extern void _PyObject_ClearFreeLists(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyTuple_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyFloat_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyList_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PySlice_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyDict_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyAsyncGen_ClearFreeLists(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyContext_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);
extern void _PyObjectStackChunk_ClearFreeList(struct _Py_object_freelists *freelists, int is_finalization);

#ifdef __cplusplus
}
#endif
#endif /* !Py_INTERNAL_FREELIST_H */

Directory Contents

Dirs: 1 × Files: 122

Name Size Perms Modified Actions
mimalloc DIR
- drwxr-xr-x 2026-02-10 08:09:23
Edit Download
1.87 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.96 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
30.78 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
6.62 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.40 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.81 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.88 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.57 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.05 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.98 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.84 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.99 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
397 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.03 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.10 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.83 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
19.71 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.41 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.66 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
588 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.64 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.15 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
7.78 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.84 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
543 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.98 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
732 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.69 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
685 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.11 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
900 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.19 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
9.25 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.65 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.46 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.45 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
480 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.08 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.70 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.50 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.66 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
859 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
490 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.14 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.02 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
115.04 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
26.08 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.65 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.26 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
515 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
7.55 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.96 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
6.23 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.11 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.28 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
14.72 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.71 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
527 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.82 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.36 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.34 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
9.73 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
427 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.60 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.27 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.54 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
435 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
27.28 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.13 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.33 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
942 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
26.78 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.89 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
82.88 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.07 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.11 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.27 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.04 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
658 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.79 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
7.87 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
510 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.84 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.75 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.36 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.40 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.24 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.44 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
9.73 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
420 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
758 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.95 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.39 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
346 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.86 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.74 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
45.72 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.69 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
951 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.86 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
369 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.06 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1013 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
963 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.47 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.15 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.52 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.93 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.54 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.43 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.32 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
820 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.67 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
924 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
958 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.96 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
129.04 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
742 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
10.06 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
38.72 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
840 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.80 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).