FolusWen c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
..
tests c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
LICENSE c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
Makefile.am c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
Makefile.frag c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
README.ZEND_MM c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
README.ZEND_VM c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
Zend.m4 c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
acinclude.m4 c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
bench.php c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
buildconf c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
configure.ac c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
header c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
micro_bench.php c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend.ico c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_API.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_API.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_alloc.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_alloc.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_alloc_sizes.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_arena.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ast.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ast.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_bitset.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_build.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_builtin_functions.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_builtin_functions.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_closures.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_closures.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_compile.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_compile.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_config.nw.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_config.w32.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_constants.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_constants.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_cpuinfo.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_cpuinfo.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_default_classes.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_dtrace.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_dtrace.d c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_dtrace.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_errors.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_exceptions.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_exceptions.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_execute.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_execute.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_execute_API.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_extensions.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_extensions.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_float.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_float.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_gc.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_gc.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_generators.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_generators.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_globals.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_globals_macros.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_hash.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_hash.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_highlight.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_highlight.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_inheritance.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_inheritance.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini_parser.y c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini_scanner.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini_scanner.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini_scanner.l c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ini_scanner_defs.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_interfaces.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_interfaces.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_istdiostream.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_iterators.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_iterators.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_language_parser.y c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_language_scanner.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_language_scanner.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_language_scanner.l c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_language_scanner_defs.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_list.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_list.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_llist.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_llist.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_long.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_modules.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_multibyte.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_multibyte.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_multiply.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_object_handlers.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_object_handlers.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_objects.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_objects.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_objects_API.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_objects_API.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_opcode.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_operators.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_operators.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_portability.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ptr_stack.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ptr_stack.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_range_check.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_signal.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_signal.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_smart_str.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_smart_str.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_smart_str_public.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_smart_string.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_smart_string_public.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_sort.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_sort.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_sprintf.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_stack.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_stack.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_stream.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_stream.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_string.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_string.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_strtod.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_strtod.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_strtod_int.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ts_hash.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_ts_hash.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_type_info.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_types.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_variables.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_variables.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_virtual_cwd.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_virtual_cwd.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_def.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_execute.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_execute.skl c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_gen.php c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_handlers.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_opcodes.c c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_opcodes.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_trace_handlers.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky
zend_vm_trace_map.h c2d3f4474f [Improve][GPL][PHP / lighttpd] před 3 roky

README.ZEND_MM

Zend Memory Manager
===================

General:
--------

The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.

The new manager's "configure" has no "--disable-zend-memory-manager" option,
but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG
build and disabled by default in RELEASE build. When enabled it allows selecting
between malloc and emalloc at runtime so you can use internal and external memory
debuggers without recompilation.

Debugging:
----------

Normal:

$ sapi/cli/php -r 'leak();'

Zend MM disabled:

$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'

Shared extensions:
------------------

Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
that valgrind can correctly track the memory leaks in shared extensions. For
this there is the ZEND_DONT_UNLOAD_MODULES environment variable. If set, then
DL_UNLOAD() is skipped during the shutdown of shared extensions.


Tweaking:
---------

The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
variables. Default values are "malloc" and "256K". Dependent on target system you
can also use "mmap_anon", "mmap_zero" and "win32" storage managers.

$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.