Hi, I'm not sure what you are profiling, but when repeatingly requesting a preview of an article containing 200000 bytes of data consisting of the pattern "a a a a a a " I got the below results. (The php parser doesn't seem to depend on perl regexps.)
CPU: CPU with timer interrupt, speed 0 MHz (estimated) Profiling through timer interrupt samples % app name symbol name 994 23.4933 libpcre.so.3.12.1 /lib/libpcre.so.3.12.1 545 12.8811 libphp5.so zendparse 369 8.7213 libphp5.so lex_scan 256 6.0506 libc-2.11.2.so memcpy 137 3.2380 libphp5.so zend_hash_find 135 3.1907 libphp5.so _zend_mm_alloc_canary_int 105 2.4817 libphp5.so __i686.get_pc_thunk.bx 90 2.1272 libphp5.so _zend_mm_free_canary_int 67 1.5835 libphp5.so zif_strtr 59 1.3945 libphp5.so zend_mm_add_to_free_list 48 1.1345 libphp5.so zend_mm_remove_from_free_list /Andreas 2011-05-03 14:40, Domas Mituzas skrev: > 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 > Wikitech-l@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikitech-l > _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l