rfc:closurefromcallable

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:closurefromcallable [2016/05/15 17:23] – semver why not. danackrfc:closurefromcallable [2016/07/09 12:49] – this RFC has already been implemented cmb
Line 3: Line 3:
   * Date: 2016-04-23    * Date: 2016-04-23 
   * Author: Dan Ackroyd, Danack@php.net   * Author: Dan Ackroyd, Danack@php.net
-  * Status: Voting+  * Status: Implemented (PHP 7.1)
   * First Published at: https://wiki.php.net/rfc/closurefromcallable   * First Published at: https://wiki.php.net/rfc/closurefromcallable
  
Line 125: Line 125:
 ==== Performance gain ==== ==== Performance gain ====
  
-Although PHP has a 'callable' type it is quite slow to use compared to other types. This is due to the amount of work that is needed to check whether a 'callable' is actually a valid callable or not. This work needs to be each time the 'callable' parameter is called.+Although PHP has a 'callable' type it is quite slow to use compared to other types. This is due to the amount of work that is needed to check whether a 'callable' is actually a valid callable or not. This work needs to be performed each time the 'callable' parameter is called.
  
 Below are two files that call a function 10,000 times which calls itself recursively 8 times. One version has a callable type for the parameter, the other has Closure as the type. Measuring the number of operations with Below are two files that call a function 10,000 times which calls itself recursively 8 times. One version has a callable type for the parameter, the other has Closure as the type. Measuring the number of operations with
Line 152: Line 152:
  
 Voting will close at 9pm UTC on the 29th of May 2016. Voting will close at 9pm UTC on the 29th of May 2016.
-<doodle title="Accept Closure from Callble? (50%+1 majority required)" auth="Danack" voteType="single" closed="false">+<doodle title="Accept Closure from Callble? (50%+1 majority required)" auth="Danack" voteType="single" closed="true">
    * Yes    * Yes
    * No    * No
Line 191: Line 191:
 However this RFC takes the position that it is inappropriate to have a separate function per type. Instead having a single function that takes any callable parameter is more powerful, and easier for users to use. However this RFC takes the position that it is inappropriate to have a separate function per type. Instead having a single function that takes any callable parameter is more powerful, and easier for users to use.
    
 +===== Implementation =====
 +
 +Merged into php-src for PHP 7.1: https://github.com/php/php-src/commit/63ca65d
 +
 +After the project is implemented, this section should contain 
 +  - a link to the PHP manual entry for the feature
 +
 ===== Appendix ===== ===== Appendix =====
    
rfc/closurefromcallable.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1