From 95fa76f5f3208d913320c13a05171ecdcd7134c2 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Sat, 2 Jan 2010 10:27:26 +0000 Subject: Performance improvements when running both in multi-threaded and pre-forked HTTPD. Changed memory management to use Apache APR pools instead of ref counting pointers as it's much faster and easier to integrate with the Python and Ruby interpreters. Changed to use simple pool-based string and stream implementations instead of the STL ones, which cause a lots of mutex locks in a multi-threaded environment. Added build options to compile with threading and profiling. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@895165 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/modules/server/mod-cpp.hpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'sca-cpp/trunk/modules/server/mod-cpp.hpp') diff --git a/sca-cpp/trunk/modules/server/mod-cpp.hpp b/sca-cpp/trunk/modules/server/mod-cpp.hpp index 664e9d2e41..2cf2e540d6 100644 --- a/sca-cpp/trunk/modules/server/mod-cpp.hpp +++ b/sca-cpp/trunk/modules/server/mod-cpp.hpp @@ -27,9 +27,8 @@ * component implementations. */ -#include -#include -#include +#include "string.hpp" +#include "stream.hpp" #include "function.hpp" #include "list.hpp" @@ -65,12 +64,12 @@ struct evalImplementation { /** * Read a C++ component implementation. */ -const failable&)>, std::string> readImplementation(const std::string path, const list& px) { - const failable ilib(dynlib(path + dynlibExt)); +const failable&)> > readImplementation(const string& path, const list& px) { + const failable ilib(dynlib(path + dynlibExt)); if (!hasContent(ilib)) - return mkfailure&)>, std::string>(reason(ilib)); + return mkfailure&)> >(reason(ilib)); - const failable&)>, std::string> impl(dynlambda&)>("eval", content(ilib))); + const failable&)> > impl(dynlambda&)>("eval", content(ilib))); if (!hasContent(impl)) return impl; return lambda&)>(evalImplementation(content(ilib), content(impl), px)); -- cgit v1.2.3