| ############################################### |
| # working features but requiring optimization # |
| ############################################### |
| |
| * all autogenerated xs methods that return char * are now using |
| sv_setpv() which always copies the string. See if we somehow can |
| avoid the copy. If we do so, we need to be careful with method which |
| take a pool argument, such as: |
| Apache::ServerUtil |
| - mpxs_Apache2__ServerUtil_server_root_relative |
| Apache::URI: |
| - ap_construct_server |
| - ap_construct_url |
| APR::URI |
| - mpxs_apr_uri_parse |
| Apache::Util |
| - ap_ht_time |
| - escape_path |
| for which we need to attach the pool object used to create those |
| strings as a magic. |
| |
| * optimize modperl_callback_current_callback_(set|get) to use |
| numerical equivalents of the phase names, instead of doing expensive |
| memory allocs and string comparison operations. And only give the |
| real string in the perl get API. |
| |
| * consider using the temp pool for things that are needed only during |
| the configuration and can be dropped before the actual serving is |
| started. that pool gets destroyed right after the post-config phase |
| is over. |
| |
| * currently when ithreads-enabled perl is used anon-sub handlers are |
| always deparsed and non-cached. there are several cases when this |
| can be optimized. See modperl_handler_new_anon in modperl_handler.c |
| |
| * modperl_package_unload() and modperl_xs_dl_*() share some duplicated |
| logic. The managment of DynaLoaded modules could be somewhat cleaner. |