rfc:gc_fn_pointer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
rfc:gc_fn_pointer [2014/12/03 22:32] – created beberleirfc:gc_fn_pointer [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Turn gc_collect_cycles into function pointer ====== ====== Turn gc_collect_cycles into function pointer ======
  
-  * Version: 1.0 +  * Version: 1.2 
-  * Date: 2014-12-04 +  * Date: 2015-01-07 
-  * Author: Benjamin Eberlei, benjamin@qafoo.com +  * Author: Benjamin Eberlei (kontakt@beberlei.de)Adam Harvey (aharvey@php.net) 
-  * Status: Draft+  * Status: Implemented (in PHP 7.0)
  
 ===== Introduction ===== ===== Introduction =====
Line 25: Line 25:
  
 A default implementation ''zend_gc_collect_cycles'' will implement the current behavior. A default implementation ''zend_gc_collect_cycles'' will implement the current behavior.
 +
 +Adam tested the performance of this change and there was no measurable overhead:
 +
 +https://github.com/LawnGnome/php-gc-benchmark
 +
 +==== Relation to possible 7.0 extension API refactoring ====
 +
 +On the mailinglist a discussion began weather this change should be part of
 +a grand refactoring of hooks and extension API.
 +
 +Making this change part of a grand refactoring will never lead to the inclusion
 +since as of now, we know of nobody planning on working on the extension API for 7.0.
 +
 +The RFC proposes to include the change AS-IS and then be part of a refactoring in the future, should one happen.
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
  
-This changes the signature of ''gc_collect_cycles'' in ''Zend/zend_gc.h'' file and should therefore target only 7.0.+No changes to userland. 
 + 
 +This changes the signature of ''gc_collect_cycles'' in ''Zend/zend_gc.h'' file and should therefore target only 7.0
  
 ===== Proposed PHP Version(s) ===== ===== Proposed PHP Version(s) =====
  
-PHP 7.0+PHP 7.0
  
 ===== RFC Impact ===== ===== RFC Impact =====
Line 54: Line 70:
 ===== References ===== ===== References =====
 Initial discussion on hooking into Garbage Collection: https://github.com/php/php-src/pull/930 Initial discussion on hooking into Garbage Collection: https://github.com/php/php-src/pull/930
 +
 +
 +===== Vote =====
 +<doodle title="Turn gc_collect_cycles into function pointer?" auth="beberlei" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
 +
 +Voting started: 2015-01-07 19:31 UTC
 +Voting ended: 2015-01-21 19:31 UTC (14 days)
  
rfc/gc_fn_pointer.1417645922.txt.gz · Last modified: 2017/09/22 13:28 (external edit)