> 
> regexps might be fast, but when you have to run hundreds of them all
> over the place and do stuff in-language then the language becomes the
> bottleneck.

some oprofile data showsthat pcre is few percent of execution time - and 
there's really lots of Zend internals that stand in the way - memory management 
(HPHP implements it as C++ object allocations via jemalloc), symbol resolutions 
(native calls in C++), etc. 

Domas

samples  %        image name               app name                 symbol name
492400    9.6648  libphp5.so               libphp5.so               
_zend_mm_alloc_int
451573    8.8634  libc-2.7.so              libc-2.7.so              (no symbols)
347812    6.8268  libphp5.so               libphp5.so               
zend_hash_find
345665    6.7847  no-vmlinux               no-vmlinux               (no symbols)
330513    6.4873  libphp5.so               libphp5.so               
_zend_mm_free_int
225755    4.4311  libpcre.so.3.12.1        libpcre.so.3.12.1        (no symbols)
159925    3.1390  libphp5.so               libphp5.so               
zend_do_fcall_common_helper_SPEC
137709    2.7029  libphp5.so               libphp5.so               
_zval_ptr_dtor
127233    2.4973  libxml2.so.2.6.31        libxml2.so.2.6.31        (no symbols)
111249    2.1836  libphp5.so               libphp5.so               
zend_hash_quick_find
93994     1.8449  libphp5.so               libphp5.so               
_zend_hash_quick_add_or_update
84693     1.6623  libphp5.so               libphp5.so               
zend_assign_to_variable
84256     1.6538  fss.so                   fss.so                   (no symbols)
56474     1.1085  libphp5.so               libphp5.so               execute
49959     0.9806  libphp5.so               libphp5.so               
zend_hash_destroy
48450     0.9510  libz.so.1.2.3.3          libz.so.1.2.3.3          (no symbols)
46967     0.9219  libphp5.so               libphp5.so               
ZEND_JMPZ_SPEC_TMP_HANDLER
46523     0.9131  libphp5.so               libphp5.so               
_zend_hash_add_or_update
45747     0.8979  libphp5.so               libphp5.so               
zend_str_tolower_copy
39154     0.7685  libphp5.so               libphp5.so               
zend_fetch_dimension_address
35356     0.6940  libphp5.so               libphp5.so               
ZEND_RECV_SPEC_HANDLER
33381     0.6552  libphp5.so               libphp5.so               
compare_function
32660     0.6410  libphp5.so               libphp5.so               
_zend_hash_index_update_or_next_insert
31815     0.6245  libphp5.so               libphp5.so               
zend_parse_va_args
31689     0.6220  libphp5.so               libphp5.so               
ZEND_SEND_VAR_SPEC_CV_HANDLER
31554     0.6193  libphp5.so               libphp5.so               _emalloc
30404     0.5968  libphp5.so               libphp5.so               
_get_zval_ptr_var
29812     0.5851  libphp5.so               libphp5.so               
ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
28092     0.5514  libphp5.so               libphp5.so               
ZEND_DO_FCALL_SPEC_CONST_HANDLER
27760     0.5449  libphp5.so               libphp5.so               
zend_hash_clean
27589     0.5415  libphp5.so               libphp5.so               
zend_fetch_var_address_helper_SPEC_CONST
26731     0.5247  libphp5.so               libphp5.so               
_zval_dtor_func
24732     0.4854  libphp5.so               libphp5.so               
ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
24732     0.4854  libphp5.so               libphp5.so               
ZEND_RECV_INIT_SPEC_CONST_HANDLER
22587     0.4433  libphp5.so               libphp5.so               
zend_send_by_var_helper_SPEC_CV
22176     0.4353  libphp5.so               libphp5.so               _efree
21911     0.4301  libphp5.so               libphp5.so               .plt
21102     0.4142  libphp5.so               libphp5.so               
ZEND_SEND_VAL_SPEC_CONST_HANDLER
19556     0.3838  libphp5.so               libphp5.so               
zend_fetch_property_address_read_helper_SPEC_UNUSED_CONST
18568     0.3645  libphp5.so               libphp5.so               
zend_get_property_info
18348     0.3601  libphp5.so               libphp5.so               
zend_std_get_method
18279     0.3588  libphp5.so               libphp5.so               
zend_get_hash_value
17944     0.3522  libphp5.so               libphp5.so               
php_var_unserialize
17461     0.3427  libphp5.so               libphp5.so               
_zval_copy_ctor_func
17187     0.3373  libtidy-0.99.so.0.0.0    libtidy-0.99.so.0.0.0    (no symbols)
16341     0.3207  libphp5.so               libphp5.so               
zend_get_parameters_ex
16103     0.3161  libphp5.so               libphp5.so               
zend_std_read_property
15662     0.3074  libphp5.so               libphp5.so               
zend_hash_copy
14678     0.2881  libphp5.so               libphp5.so               
zend_binary_strcmp
14556     0.2857  apc.so                   apc.so                   
my_copy_hashtable_ex
14279     0.2803  libphp5.so               libphp5.so               
_zend_mm_realloc_int
13993     0.2747  oprofiled                oprofiled                (no symbols)
13680     0.2685  libphp5.so               libphp5.so               
dom_nodelist_length_read
13265     0.2604  libphp5.so               libphp5.so               zval_add_ref
13166     0.2584  libphp5.so               libphp5.so               
zend_objects_store_del_ref_by_handle
13084     0.2568  libphp5.so               libphp5.so               
ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER
13030     0.2558  libphp5.so               libphp5.so               
zend_assign_to_object
11822     0.2320  libphp5.so               libphp5.so               
ZEND_INSTANCEOF_SPEC_CV_HANDLER
11511     0.2259  libphp5.so               libphp5.so               
zend_fetch_property_address_read_helper_SPEC_CV_CONST
11425     0.2242  libphp5.so               libphp5.so               _estrndup
11340     0.2226  libphp5.so               libphp5.so               
zendi_smart_strcmp
11227     0.2204  libphp5.so               libphp5.so               
ZEND_JMPZ_SPEC_VAR_HANDLER
11174     0.2193  libphp5.so               libphp5.so               
ZEND_FETCH_CLASS_SPEC_CONST_HANDLER
11080     0.2175  libphp5.so               libphp5.so               
_zend_hash_init
10908     0.2141  libphp5.so               libphp5.so               
zend_object_store_get_object
10623     0.2085  libphp5.so               libphp5.so               
zend_assign_to_variable_reference
10577     0.2076  libphp5.so               libphp5.so               
zend_hash_index_find
10231     0.2008  libphp5.so               libphp5.so               
ZEND_JMP_SPEC_HANDLER
10227     0.2007  libphp5.so               libphp5.so               
ZEND_RETURN_SPEC_CONST_HANDLER
9400      0.1845  libphp5.so               libphp5.so               
_safe_emalloc
8973      0.1761  libphp5.so               libphp5.so               
ZEND_BOOL_SPEC_TMP_HANDLER
8652      0.1698  libphp5.so               libphp5.so               
zend_lookup_class_ex
8504      0.1669  libphp5.so               libphp5.so               
ZEND_JMPZ_EX_SPEC_TMP_HANDLER
8489      0.1666  libphp5.so               libphp5.so               
zend_call_function
8448      0.1658  libphp5.so               libphp5.so               
convert_to_boolean
8307      0.1630  libphp5.so               libphp5.so               
ZEND_JMPZ_SPEC_CV_HANDLER
8297      0.1629  libphp5.so               libphp5.so               
zend_hash_rehash
8092      0.1588  libphp5.so               libphp5.so               
ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER
7855      0.1542  libphp5.so               libphp5.so               
ZEND_RETURN_SPEC_VAR_HANDLER
7659      0.1503  libphp5.so               libphp5.so               
instanceof_function_ex
7552      0.1482  libphp5.so               libphp5.so               
ZEND_FE_FETCH_SPEC_VAR_HANDLER
7383      0.1449  libphp5.so               libphp5.so               
ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_HANDLER
7036      0.1381  libphp5.so               libphp5.so               
is_identical_function
7012      0.1376  libphp5.so               libphp5.so               php_is_type
6907      0.1356  libphp5.so               libphp5.so               
zend_hash_get_current_data_ex
6901      0.1355  libphp5.so               libphp5.so               
ZEND_SEND_REF_SPEC_CV_HANDLER
6881      0.1351  libphp5.so               libphp5.so               
concat_function
6860      0.1346  libphp5.so               libphp5.so               
zend_hash_del_key_or_index
6843      0.1343  libphp5.so               libphp5.so               
php_pcre_match_impl
6648      0.1305  libphp5.so               libphp5.so               
zend_isset_isempty_dim_prop_obj_handler_SPEC_VAR_CV
6600      0.1295  libphp5.so               libphp5.so               
ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_HANDLER
6538      0.1283  libphp5.so               libphp5.so               _phpi_pop
6306      0.1238  libphp5.so               libphp5.so               
zend_get_constant_ex
6254      0.1228  libphp5.so               libphp5.so               zif_strtr
5901      0.1158  libphp5.so               libphp5.so               
zend_fetch_class
5829      0.1144  libphp5.so               libphp5.so               
zif_dom_nodelist_item
5809      0.1140  libphp5.so               libphp5.so               sub_function
5805      0.1139  libphp5.so               libphp5.so               
zend_std_write_property
5789      0.1136  libphp5.so               libphp5.so               
ZEND_RETURN_SPEC_CV_HANDLER
5753      0.1129  libphp5.so               libphp5.so               _ecalloc
5678      0.1114  libmysqlclient.so.15.0.0 libmysqlclient.so.15.0.0 (no symbols)
5650      0.1109  libphp5.so               libphp5.so               
ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_UNUSED_HANDLER
5470      0.1074  libphp5.so               libphp5.so               
ZEND_FETCH_W_SPEC_CONST_HANDLER
5262      0.1033  libphp5.so               libphp5.so               
ZEND_SEND_VAL_SPEC_TMP_HANDLER
5259      0.1032  libphp5.so               libphp5.so               
ZEND_ASSIGN_SPEC_CV_TMP_HANDLER
5128      0.1007  libphp5.so               libphp5.so               
ZEND_FETCH_DIM_W_SPEC_CV_CV_HANDLER



_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to