MantisBT: master ea3cd389

Author Committer Branch Timestamp Parent
dhx dhx master 2010-01-06 23:20 master 317f809f
Changeset

Use require_once in core API to pull in required dependencies

To make it easier to use a portion of the MantisBT API, dependency
inclusions should be handled within each API. This way you don't have to
guess as to what other APIs you need to include as dependencies.

The documentation for each API has been updated to be consistently
formatted. Additionally, the @uses documentation has been added to each
API to list which dependencies each API has.

Performance test results for PHP 5.2.12, xcache 1.3.0 and Lighttpd
1.4.25 in FastCGI mode, all xcache optimisations on. Dual core server
(hence two concurrent threads when testing).

ab2 -n 100 -c 2 http://localhost/mantis/view_all_bug_page.php

(all numbers are shown in requests per second, Lighttpd was restarted
before each test, flushing xcache's cache for each new test)

Before this patch: 3.99 4.21 4.36 4.31 3.94
After this patch: 3.99 4.15 4.17 4.15 4.14

There are further optimisations to require_once in PHP 5.3.0 that make
any performance impacts even less noticeable (not that I've been able to
find any so far with respect to this patch).

mod - core/news_api.php Diff File
mod - core/compress_api.php Diff File
mod - core/bug_api.php Diff File
mod - core/php_api.php Diff File
mod - core/url_api.php Diff File
mod - core/json_api.php Diff File
mod - core/event_api.php Diff File
mod - core/html_api.php Diff File
mod - core/current_user_api.php Diff File
mod - core/install_helper_functions_api.php Diff File
mod - core/helper_api.php Diff File
mod - core/authentication_api.php Diff File
mod - core/history_api.php Diff File
mod - core/rss_api.php Diff File
mod - core/tokens_api.php Diff File
mod - core/last_visited_api.php Diff File
mod - core/access_api.php Diff File
mod - core/icon_api.php Diff File
mod - core/file_api.php Diff File
mod - core/prepare_api.php Diff File
mod - core/relationship_graph_api.php Diff File
mod - core/utility_api.php Diff File
mod - core/category_api.php Diff File
mod - core/date_api.php Diff File
mod - core/plugin_api.php Diff File
mod - core/summary_api.php Diff File
mod - core/error_api.php Diff File
mod - core/logging_api.php Diff File
mod - core/relationship_api.php Diff File
mod - core/version_api.php Diff File
mod - core/email_queue_api.php Diff File
mod - core/http_api.php Diff File
mod - core/string_api.php Diff File
mod - core/project_hierarchy_api.php Diff File
mod - core/profile_api.php Diff File
mod - core/bugnote_api.php Diff File
mod - core/xmlhttprequest_api.php Diff File
mod - core/collapse_api.php Diff File
mod - core/csv_api.php Diff File
mod - core/projax_api.php Diff File
mod - core/project_api.php Diff File
mod - core/gpc_api.php Diff File
mod - core/bug_revision_api.php Diff File
mod - core/excel_api.php Diff File
mod - core/lang_api.php Diff File
mod - core/user_pref_api.php Diff File
mod - core/custom_function_api.php Diff File
mod - core/session_api.php Diff File
mod - core/form_api.php Diff File
mod - core/config_api.php Diff File
mod - core/sponsorship_api.php Diff File
mod - core/print_api.php Diff File
mod - core/bug_group_action_api.php Diff File
mod - core/ldap_api.php Diff File
mod - core/twitter_api.php Diff File
mod - core/graphviz_api.php Diff File
mod - core/tag_api.php Diff File
mod - core/ajax_api.php Diff File
mod - core/columns_api.php Diff File
mod - core/custom_field_api.php Diff File
mod - core/wiki_api.php Diff File
mod - core/email_api.php Diff File
mod - core/filter_api.php Diff File
mod - core/database_api.php Diff File
mod - core/user_api.php Diff File