summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/serialization/performance
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/serialization/performance')
-rw-r--r--src/boost/libs/serialization/performance/Jamfile.v248
-rw-r--r--src/boost/libs/serialization/performance/binary_archive.hpp22
-rw-r--r--src/boost/libs/serialization/performance/binary_warchive.hpp14
-rw-r--r--src/boost/libs/serialization/performance/peformance_array.cpp118
-rw-r--r--src/boost/libs/serialization/performance/performance_binary.cpp96
-rw-r--r--src/boost/libs/serialization/performance/performance_codecvt_null.cpp136
-rw-r--r--src/boost/libs/serialization/performance/performance_iterators.cpp213
-rw-r--r--src/boost/libs/serialization/performance/performance_iterators_base64.cpp100
-rw-r--r--src/boost/libs/serialization/performance/performance_no_rtti.cpp222
-rw-r--r--src/boost/libs/serialization/performance/performance_polymorphic.cpp104
-rw-r--r--src/boost/libs/serialization/performance/performance_simple_class.cpp55
-rw-r--r--src/boost/libs/serialization/performance/performance_utf8_codecvt.cpp248
-rw-r--r--src/boost/libs/serialization/performance/performance_vector.cpp70
-rw-r--r--src/boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp13
-rw-r--r--src/boost/libs/serialization/performance/polymorphic_binary_archive.hpp13
-rw-r--r--src/boost/libs/serialization/performance/polymorphic_text_archive.hpp13
-rw-r--r--src/boost/libs/serialization/performance/polymorphic_text_warchive.hpp18
-rw-r--r--src/boost/libs/serialization/performance/polymorphic_xml_archive.hpp13
-rw-r--r--src/boost/libs/serialization/performance/polymorphic_xml_warchive.hpp13
-rw-r--r--src/boost/libs/serialization/performance/portable_binary_archive.hpp22
-rwxr-xr-xsrc/boost/libs/serialization/performance/profile.sh39
-rw-r--r--src/boost/libs/serialization/performance/text_archive.hpp14
-rw-r--r--src/boost/libs/serialization/performance/text_warchive.hpp19
-rw-r--r--src/boost/libs/serialization/performance/xml/Jamfile.v235
-rw-r--r--src/boost/libs/serialization/performance/xml/harness.hpp188
-rw-r--r--src/boost/libs/serialization/performance/xml/high_resolution_timer.hpp489
-rw-r--r--src/boost/libs/serialization/performance/xml/int16_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/int16_test.cpp20
-rw-r--r--src/boost/libs/serialization/performance/xml/int256_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/int256_test.cpp20
-rw-r--r--src/boost/libs/serialization/performance/xml/int4_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/int4_test.cpp20
-rw-r--r--src/boost/libs/serialization/performance/xml/int64_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/int64_test.cpp20
-rw-r--r--src/boost/libs/serialization/performance/xml/macro.hpp229
-rw-r--r--src/boost/libs/serialization/performance/xml/node.hpp63
-rw-r--r--src/boost/libs/serialization/performance/xml/string16_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/string16_test.cpp24
-rw-r--r--src/boost/libs/serialization/performance/xml/string256_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/string256_test.cpp24
-rw-r--r--src/boost/libs/serialization/performance/xml/string4_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/string4_test.cpp24
-rw-r--r--src/boost/libs/serialization/performance/xml/string64_results.xml1291
-rw-r--r--src/boost/libs/serialization/performance/xml/string64_test.cpp24
-rw-r--r--src/boost/libs/serialization/performance/xml_archive.hpp16
-rw-r--r--src/boost/libs/serialization/performance/xml_warchive.hpp16
46 files changed, 13163 insertions, 0 deletions
diff --git a/src/boost/libs/serialization/performance/Jamfile.v2 b/src/boost/libs/serialization/performance/Jamfile.v2
new file mode 100644
index 000000000..5ec2a2968
--- /dev/null
+++ b/src/boost/libs/serialization/performance/Jamfile.v2
@@ -0,0 +1,48 @@
+# Boost serialization Library performance test Jamfile
+
+# (C) Copyright Robert Ramey 2002-2004.
+# Use, modification, and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#
+
+project libs/serialization/performance
+ : default-build release
+ : id serialization_performance
+ ;
+
+# import rules from the boost serialization test
+# import ../util/test : test-bsl-run-no-lib ;
+import ../util/test :
+ run-template
+ run-invoke
+ run-winvoke
+ test-bsl-run-no-lib
+ test-bsl-run
+ test-bsl-run_archive
+ test-bsl-run_files
+ test-bsl-run_polymorphic_archive
+;
+
+BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
+
+test-suite "performance" :
+ [ test-bsl-run_files peformance_array : ../test/A ]
+# [ test-bsl-run_files performance_binary ]
+# [ test-bsl-run_files performance_polymorphic ]
+# [ test-bsl-run_files performance_vector ]
+# [ test-bsl-run_files performance_no_rtti ]
+# [ test-bsl-run_files performance_simple_class ]
+# [ test-bsl-run_polymorphic_archive performance_polymorphic : ../test/test_polymorphic_A ]
+
+ [ test-bsl-run-no-lib performance_iterators ]
+ [ test-bsl-run-no-lib performance_iterators_base64 ]
+# [ test-bsl-run-no-lib performance_utf8_codecvt
+# : ../src/utf8_codecvt_facet
+# : # <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
+# ]
+# [ test-bsl-run-no-lib performance_codecvt_null
+# : ../src/codecvt_null
+# : # <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
+# ]
+;
diff --git a/src/boost/libs/serialization/performance/binary_archive.hpp b/src/boost/libs/serialization/performance/binary_archive.hpp
new file mode 100644
index 000000000..3569bcf36
--- /dev/null
+++ b/src/boost/libs/serialization/performance/binary_archive.hpp
@@ -0,0 +1,22 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+
+// binary_archive
+#include <boost/archive/binary_oarchive.hpp>
+typedef boost::archive::binary_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/binary_iarchive.hpp>
+typedef boost::archive::binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS std::ios::binary
+
diff --git a/src/boost/libs/serialization/performance/binary_warchive.hpp b/src/boost/libs/serialization/performance/binary_warchive.hpp
new file mode 100644
index 000000000..929f3a37d
--- /dev/null
+++ b/src/boost/libs/serialization/performance/binary_warchive.hpp
@@ -0,0 +1,14 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// binary_warchive
+#include <boost/archive/binary_woarchive.hpp>
+typedef boost::archive::binary_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/binary_wiarchive.hpp>
+typedef boost::archive::binary_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#define TEST_STREAM_FLAGS std::wios::binary
diff --git a/src/boost/libs/serialization/performance/peformance_array.cpp b/src/boost/libs/serialization/performance/peformance_array.cpp
new file mode 100644
index 000000000..401590134
--- /dev/null
+++ b/src/boost/libs/serialization/performance/peformance_array.cpp
@@ -0,0 +1,118 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_array.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// should pass compilation and execution
+
+#include <fstream>
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "../test/test_tools.hpp"
+
+#include <boost/preprocessor/stringize.hpp>
+//#include <boost/preprocessor/cat.hpp>
+// the following fails with (only!) gcc 3.4
+// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
+// just copy over the files from the test directory
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/archive/archive_exception.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include "../test/A.hpp"
+#include "../test/A.ipp"
+
+struct array_equal_to //: public std::binary_function<T, T, bool>
+{
+template<class T, class U>
+ bool operator()(const T & _Left, const U & _Right) const
+ {
+ // consider alignment
+ int count_left = sizeof(_Left) / (
+ static_cast<const char *>(static_cast<const void *>(&_Left[1]))
+ - static_cast<const char *>(static_cast<const void *>(&_Left[0]))
+ );
+ int count_right = sizeof(_Right) / (
+ static_cast<const char *>(static_cast<const void *>(&_Right[1]))
+ - static_cast<const char *>(static_cast<const void *>(&_Right[0]))
+ );
+ if(count_right != count_left)
+ return false;
+ while(count_left-- > 0){
+ if(_Left[count_left] == _Right[count_left])
+ continue;
+ return false;
+ }
+ return true;
+ }
+};
+
+template <class T>
+int test_array(T)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ const T a_array[10]={T(),T(),T(),T(),T(),T(),T(),T(),T(),T()};
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a_array", a_array);
+ }
+ {
+ T a_array1[10];
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+
+ array_equal_to/*<A[10]>*/ Compare;
+ BOOST_CHECK(Compare(a_array, a_array1));
+ }
+ {
+ T a_array1[9];
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ BOOST_TRY {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ }
+ BOOST_CATCH (boost::archive::archive_exception ae){
+ BOOST_CHECK(
+ boost::archive::archive_exception::array_size_too_short
+ == ae.code
+ );
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ BOOST_CATCH (boost::archive::archive_exception ae){}
+ BOOST_CATCH_END
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ int res = test_array(A());
+ // test an int array for which optimized versions should be available
+ if (res == EXIT_SUCCESS)
+ res = test_array(0);
+ return res;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/performance/performance_binary.cpp b/src/boost/libs/serialization/performance/performance_binary.cpp
new file mode 100644
index 000000000..7c817b206
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_binary.cpp
@@ -0,0 +1,96 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_simple_class.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// should pass compilation and execution
+
+#include <fstream>
+
+#include <cstdlib> // for rand()
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::remove;
+}
+#endif
+
+#include "../test/test_tools.hpp"
+#include <boost/preprocessor/stringize.hpp>
+// #include <boost/preprocessor/cat.hpp>
+// the following fails with (only!) gcc 3.4
+// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
+// just copy over the files from the test directory
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/binary_object.hpp>
+
+class A {
+ friend class boost::serialization::access;
+ char data[150];
+ // note: from an aesthetic perspective, I would much prefer to have this
+ // defined out of line. Unfortunately, this trips a bug in the VC 6.0
+ // compiler. So hold our nose and put it her to permit running of tests.
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & boost::serialization::make_nvp(
+ "data",
+ boost::serialization::make_binary_object(data, sizeof(data))
+ );
+ }
+
+public:
+ A();
+ bool operator==(const A & rhs) const;
+};
+
+A::A(){
+ int i = sizeof(data);
+ while(i-- > 0)
+ data[i] = 0xff & std::rand();
+}
+
+bool A::operator==(const A & rhs) const {
+ int i = sizeof(data);
+ while(i-- > 0)
+ if(data[i] != rhs.data[i])
+ return false;
+ return true;
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A a;
+ A a1;
+ const int i = 12345;
+ int i1 = 34790;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(a);
+ // note: add a little bit on the end of the archive to detect
+ // failure of text mode binary.
+ oa << BOOST_SERIALIZATION_NVP(i);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a1);
+ ia >> BOOST_SERIALIZATION_NVP(i1);
+ }
+ BOOST_CHECK(i == i1);
+ BOOST_CHECK(a == a1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/performance/performance_codecvt_null.cpp b/src/boost/libs/serialization/performance/performance_codecvt_null.cpp
new file mode 100644
index 000000000..70dd573ee
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_codecvt_null.cpp
@@ -0,0 +1,136 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_codecvt_null.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// should pass compilation and execution. Note: compilation with compilers
+// which use wchar_t as 2 byte objects will emit warnings. These should be
+// ignored.
+
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <iterator>
+#include <locale>
+#include <vector>
+#include <cstddef>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/archive/add_facet.hpp>
+#include <boost/archive/codecvt_null.hpp>
+#include <boost/archive/iterators/ostream_iterator.hpp>
+#include <boost/archive/iterators/istream_iterator.hpp>
+
+template<std::size_t S>
+struct test_data
+{
+ static wchar_t wchar_encoding[];
+};
+
+template<>
+wchar_t test_data<2>::wchar_encoding[] = {
+ 0x0001,
+ 0x007f,
+ 0x0080,
+ 0x07ff,
+ 0x0800,
+ 0x7fff
+};
+
+template<>
+wchar_t test_data<4>::wchar_encoding[] = {
+ 0x00000001,
+ 0x0000007f,
+ 0x00000080,
+ 0x000007ff,
+ 0x00000800,
+ 0x0000ffff,
+ 0x00010000,
+ 0x0010ffff,
+ 0x001fffff,
+ 0x00200000,
+ 0x03ffffff,
+ 0x04000000,
+ 0x7fffffff
+};
+
+#include <iostream>
+
+int test_main( int /* argc */, char* /* argv */[] ) {
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::locale old_loc;
+ std::locale * null_locale =
+ boost::archive::add_facet(old_loc, new boost::archive::codecvt_null<wchar_t>);
+
+ typedef test_data<sizeof(wchar_t)> td;
+ {
+ std::wofstream ofs;
+ ofs.imbue(*null_locale);
+ ofs.open(testfile, std::ios::binary);
+ std::copy(
+ td::wchar_encoding,
+ #if ! defined(__BORLANDC__)
+ // borland 5.60 complains about this
+ td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
+ #else
+ // so use this instead
+ td::wchar_encoding + 6,
+ #endif
+ boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
+ );
+ }
+ bool ok = false;
+ {
+ std::wifstream ifs;
+ ifs.imbue(*null_locale);
+ ifs.open(testfile, std::ios::binary);
+ ok = std::equal(
+ td::wchar_encoding,
+ #if ! defined(__BORLANDC__)
+ // borland 5.60 complains about this
+ td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
+ #else
+ // so use this instead
+ td::wchar_encoding + 6,
+ #endif
+ boost::archive::iterators::istream_iterator<wchar_t>(ifs)
+ );
+ }
+
+ BOOST_CHECK(ok);
+ {
+ std::wofstream ofs("testfile2");
+ ofs.imbue(*null_locale);
+ int i = 10;
+ ofs << i;
+ ofs.close();
+
+ std::wifstream ifs("testfile2");
+ ifs.imbue(*null_locale);
+ int i2;
+ ifs >> i2;
+ std::cout << "i=" << i << std::endl;
+ std::cout << "i2=" << i2 << std::endl;
+ BOOST_CHECK(i == i2);
+ ifs.close();
+ }
+
+ delete null_locale;
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
diff --git a/src/boost/libs/serialization/performance/performance_iterators.cpp b/src/boost/libs/serialization/performance/performance_iterators.cpp
new file mode 100644
index 000000000..869b6eda5
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_iterators.cpp
@@ -0,0 +1,213 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_iterators.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <algorithm>
+#include <vector>
+#include <cstdlib> // for rand
+#include <functional>
+#include <sstream> // used to test stream iterators
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{
+ using ::rand;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <boost/archive/dinkumware.hpp>
+#endif
+
+#ifndef BOOST_NO_CWCHAR
+#include <boost/archive/iterators/mb_from_wchar.hpp>
+#include <boost/archive/iterators/wchar_from_mb.hpp>
+#endif
+#include <boost/archive/iterators/xml_escape.hpp>
+#include <boost/archive/iterators/xml_unescape.hpp>
+#include <boost/archive/iterators/transform_width.hpp>
+#include <boost/archive/iterators/istream_iterator.hpp>
+#include <boost/archive/iterators/ostream_iterator.hpp>
+
+#include "../test/test_tools.hpp"
+
+#ifndef BOOST_NO_CWCHAR
+
+void test_wchar_from_mb(const wchar_t *la, const char * a, const unsigned int size){
+ typedef boost::archive::iterators::wchar_from_mb<const char *> translator;
+ BOOST_CHECK((
+ std::equal(
+ translator(BOOST_MAKE_PFTO_WRAPPER(a)),
+ translator(BOOST_MAKE_PFTO_WRAPPER(a + size)),
+ la
+ )
+ ));
+}
+
+void test_mb_from_wchar(const char * a, const wchar_t *la, const unsigned int size){
+ typedef boost::archive::iterators::mb_from_wchar<const wchar_t *> translator;
+ BOOST_CHECK(
+ std::equal(
+ translator(BOOST_MAKE_PFTO_WRAPPER(la)),
+ translator(BOOST_MAKE_PFTO_WRAPPER(la + size)),
+ a
+ )
+ );
+}
+
+#endif
+
+template<class CharType>
+void test_xml_escape(
+ const CharType * xml_escaped,
+ const CharType * xml,
+ unsigned int size
+){
+ typedef boost::archive::iterators::xml_escape<const CharType *> translator;
+
+ BOOST_CHECK(
+ std::equal(
+ translator(BOOST_MAKE_PFTO_WRAPPER(xml)),
+ translator(BOOST_MAKE_PFTO_WRAPPER(xml + size)),
+ xml_escaped
+ )
+ );
+}
+
+template<class CharType>
+void test_xml_unescape(
+ const CharType * xml,
+ const CharType * xml_escaped,
+ unsigned int size
+){
+
+ // test xml_unescape
+ typedef boost::archive::iterators::xml_unescape<const CharType *> translator;
+
+ BOOST_CHECK(
+ std::equal(
+ translator(BOOST_MAKE_PFTO_WRAPPER(xml_escaped)),
+ translator(BOOST_MAKE_PFTO_WRAPPER(xml_escaped + size)),
+ xml
+ )
+ );
+}
+
+template<int BitsOut, int BitsIn>
+void test_transform_width(unsigned int size){
+ // test transform_width
+ char rawdata[8];
+
+ char * rptr;
+ for(rptr = rawdata + 6; rptr-- > rawdata;)
+ *rptr = std::rand();
+
+ // convert 8 to 6 bit characters
+ typedef boost::archive::iterators::transform_width<
+ char *, BitsOut, BitsIn
+ > translator1;
+
+ std::vector<char> v6;
+
+ std::copy(
+ translator1(BOOST_MAKE_PFTO_WRAPPER(static_cast<char *>(rawdata))),
+ translator1(BOOST_MAKE_PFTO_WRAPPER(rawdata + size)),
+ std::back_inserter(v6)
+ );
+
+ // check to see we got the expected # of characters out
+ if(0 == size)
+ BOOST_CHECK(v6.size() == 0);
+ else
+ BOOST_CHECK(v6.size() == (size * BitsIn - 1 ) / BitsOut + 1);
+
+ typedef boost::archive::iterators::transform_width<
+ std::vector<char>::iterator, BitsIn, BitsOut
+ > translator2;
+
+ BOOST_CHECK(
+ std::equal(
+ rawdata,
+ rawdata + size,
+ translator2(BOOST_MAKE_PFTO_WRAPPER(v6.begin()))
+ )
+ );
+
+}
+
+template<class CharType>
+void test_stream_iterators(
+ const CharType * test_data,
+ unsigned int size
+){
+ std::basic_stringstream<CharType> ss;
+ boost::archive::iterators::ostream_iterator<CharType> osi =
+ boost::archive::iterators::ostream_iterator<CharType>(ss);
+ std::copy(test_data, test_data + size, osi);
+
+ BOOST_CHECK(size == ss.str().size());
+
+ boost::archive::iterators::istream_iterator<CharType> isi =
+ boost::archive::iterators::istream_iterator<CharType>(ss);
+ BOOST_CHECK(std::equal(test_data, test_data + size,isi));
+}
+
+int
+test_main(int /* argc */, char* /* argv */ [] )
+{
+ const char xml[] = "<+>+&+\"+'";
+ const char xml_escaped[] = "&lt;+&gt;+&amp;+&quot;+&apos;";
+ test_xml_escape<const char>(
+ xml_escaped,
+ xml,
+ sizeof(xml) / sizeof(char) - 1
+ );
+ test_xml_unescape<const char>(
+ xml,
+ xml_escaped,
+ sizeof(xml_escaped) / sizeof(char) - 1
+ );
+
+ const char a[] = "abcdefghijklmnopqrstuvwxyz";
+
+ #ifndef BOOST_NO_CWCHAR
+ const wchar_t wxml[] = L"<+>+&+\"+'";
+ const wchar_t wxml_escaped[] = L"&lt;+&gt;+&amp;+&quot;+&apos;";
+ test_xml_escape<const wchar_t>(
+ wxml_escaped,
+ wxml,
+ sizeof(wxml) / sizeof(wchar_t) - 1
+ );
+ test_xml_unescape<const wchar_t>(
+ wxml,
+ wxml_escaped,
+ sizeof(wxml_escaped) / sizeof(wchar_t) - 1
+ );
+
+ const wchar_t la[] = L"abcdefghijklmnopqrstuvwxyz";
+
+ test_wchar_from_mb(la, a, sizeof(a) / sizeof(char) - 1);
+ test_mb_from_wchar(a, la, sizeof(la) / sizeof(wchar_t) - 1);
+
+ test_stream_iterators<wchar_t>(la, sizeof(la)/sizeof(wchar_t) - 1);
+ #endif
+
+ test_stream_iterators<char>(a, sizeof(a) - 1);
+
+ test_transform_width<6, 8>(0);
+ test_transform_width<6, 8>(1);
+ test_transform_width<6, 8>(2);
+ test_transform_width<6, 8>(3);
+ test_transform_width<6, 8>(4);
+ test_transform_width<6, 8>(5);
+ test_transform_width<6, 8>(6);
+ test_transform_width<6, 8>(7);
+ test_transform_width<6, 8>(8);
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/performance/performance_iterators_base64.cpp b/src/boost/libs/serialization/performance/performance_iterators_base64.cpp
new file mode 100644
index 000000000..662ea6cf7
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_iterators_base64.cpp
@@ -0,0 +1,100 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_iterators.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <algorithm>
+#include <list>
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <cstdlib>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include <boost/serialization/pfto.hpp>
+
+#include <boost/archive/iterators/binary_from_base64.hpp>
+#include <boost/archive/iterators/base64_from_binary.hpp>
+#include <boost/archive/iterators/insert_linebreaks.hpp>
+#include <boost/archive/iterators/remove_whitespace.hpp>
+#include <boost/archive/iterators/transform_width.hpp>
+
+#include "../test/test_tools.hpp"
+
+#include <iostream>
+
+template<typename CharType>
+void test_base64(){
+ CharType rawdata[150];
+ std::size_t size = sizeof(rawdata) / sizeof(CharType);
+ CharType * rptr;
+ for(rptr = rawdata + size; rptr-- > rawdata;)
+ *rptr = std::rand();
+
+ // convert to base64
+ typedef std::list<CharType> text_base64_type;
+ text_base64_type text_base64;
+
+ typedef
+ boost::archive::iterators::insert_linebreaks<
+ boost::archive::iterators::base64_from_binary<
+ boost::archive::iterators::transform_width<
+ CharType *
+ ,6
+ ,sizeof(CharType) * 8
+ >
+ >
+ ,72
+ >
+ translate_out;
+
+ std::copy(
+ translate_out(BOOST_MAKE_PFTO_WRAPPER(static_cast<CharType *>(rawdata))),
+ translate_out(BOOST_MAKE_PFTO_WRAPPER(rawdata + size)),
+ std::back_inserter(text_base64)
+ );
+
+ // convert from base64 to binary and compare with the original
+ typedef
+ boost::archive::iterators::transform_width<
+ boost::archive::iterators::binary_from_base64<
+ boost::archive::iterators::remove_whitespace<
+ BOOST_DEDUCED_TYPENAME text_base64_type::iterator
+ >
+ >,
+ sizeof(CharType) * 8,
+ 6
+ > translate_in;
+
+ BOOST_CHECK(
+ std::equal(
+ rawdata,
+ rawdata + size,
+ translate_in(BOOST_MAKE_PFTO_WRAPPER(text_base64.begin()))
+ )
+ );
+
+}
+
+int
+test_main( int argc, char* argv[] )
+{
+ test_base64<char>();
+ #ifndef BOOST_NO_CWCHAR
+ test_base64<wchar_t>();
+ #endif
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/performance/performance_no_rtti.cpp b/src/boost/libs/serialization/performance/performance_no_rtti.cpp
new file mode 100644
index 000000000..bebafe783
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_no_rtti.cpp
@@ -0,0 +1,222 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_no_rtti.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// note: this program tests the inter-operability of different
+// extended typeinfo systems. In this example, one class is
+// identified using the default RTTI while the other uses a custom
+// system based on the export key.
+//
+// As this program uses RTTI for one of the types, the test will fail
+// on a system for which RTTI is not enabled or not existent.
+
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/static_assert.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+#include "../test/test_tools.hpp"
+#include <boost/preprocessor/stringize.hpp>
+// #include <boost/preprocessor/cat.hpp>
+// the following fails with (only!) gcc 3.4
+// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
+// just copy over the files from the test directory
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/extended_type_info_no_rtti.hpp>
+
+class polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){
+ }
+public:
+ virtual const char * get_key() const = 0;
+ virtual ~polymorphic_base(){};
+};
+
+BOOST_IS_ABSTRACT(polymorphic_base)
+BOOST_CLASS_TYPE_INFO(
+ polymorphic_base,
+ extended_type_info_no_rtti<polymorphic_base>
+)
+// note: types which use ...no_rtti MUST be exported
+BOOST_CLASS_EXPORT(polymorphic_base)
+
+class polymorphic_derived1 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+public:
+ virtual const char * get_key() const ;
+};
+
+BOOST_CLASS_TYPE_INFO(
+ polymorphic_derived1,
+ extended_type_info_no_rtti<polymorphic_derived1>
+)
+BOOST_CLASS_EXPORT(polymorphic_derived1)
+
+const char * polymorphic_derived1::get_key() const {
+ const boost::serialization::extended_type_info *eti
+ = boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_instance();
+ return eti->get_key();
+}
+
+class polymorphic_derived2 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+public:
+ virtual const char * get_key() const ;
+};
+
+// note the mixing of type_info systems is supported.
+BOOST_CLASS_TYPE_INFO(
+ polymorphic_derived2,
+ boost::serialization::extended_type_info_typeid<polymorphic_derived2>
+)
+
+BOOST_CLASS_EXPORT(polymorphic_derived2)
+
+const char * polymorphic_derived2::get_key() const {
+ // use the exported key as the identifier
+ const boost::serialization::extended_type_info *eti
+ = boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_instance();
+ return eti->get_key();
+}
+
+// save derived polymorphic class
+void save_derived(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 *rd1 = new polymorphic_derived1;
+ polymorphic_derived2 *rd2 = new polymorphic_derived2;
+
+ oa << BOOST_SERIALIZATION_NVP(rd1);
+ oa << BOOST_SERIALIZATION_NVP(rd2);
+
+ // the above opereration registers the derived classes as a side
+ // effect. Hence, instances can now be correctly serialized through
+ // a base class pointer.
+ polymorphic_base *rb1 = rd1;
+ polymorphic_base *rb2 = rd2;
+ oa << BOOST_SERIALIZATION_NVP(rb1);
+ oa << BOOST_SERIALIZATION_NVP(rb2);
+
+ delete rd1;
+ delete rd2;
+}
+
+// save derived polymorphic class
+void load_derived(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 *rd1 = NULL;
+ polymorphic_derived2 *rd2 = NULL;
+
+ ia >> BOOST_SERIALIZATION_NVP(rd1);
+
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_instance()
+ == boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_derived_extended_type_info(*rd1),
+ "restored pointer d1 not of correct type"
+ );
+
+ ia >> BOOST_SERIALIZATION_NVP(rd2);
+
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_instance()
+ == boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_derived_extended_type_info(*rd2),
+ "restored pointer d2 not of correct type"
+ );
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // the above opereration registers the derived classes as a side
+ // effect. Hence, instances can now be correctly serialized through
+ // a base class pointer.
+ ia >> BOOST_SERIALIZATION_NVP(rb1);
+
+ BOOST_CHECK_MESSAGE(
+ rb1 == dynamic_cast<polymorphic_base *>(rd1),
+ "serialized pointers not correctly restored"
+ );
+
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_instance()
+ == boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_derived_extended_type_info(*rb1),
+ "restored pointer b1 not of correct type"
+ );
+
+ ia >> BOOST_SERIALIZATION_NVP(rb2);
+
+ BOOST_CHECK_MESSAGE(
+ rb2 == dynamic_cast<polymorphic_base *>(rd2),
+ "serialized pointers not correctly restored"
+ );
+
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_instance()
+ == boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+
+ delete rb1;
+ delete rb2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_derived(testfile);
+ load_derived(testfile);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/performance/performance_polymorphic.cpp b/src/boost/libs/serialization/performance/performance_polymorphic.cpp
new file mode 100644
index 000000000..50bc21be2
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_polymorphic.cpp
@@ -0,0 +1,104 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// should pass compilation and execution
+
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "../test/test_tools.hpp"
+
+#if !defined(BOOST_ARCHIVE_TEST)
+#define BOOST_ARCHIVE_TEST polymorphic_text_archive.hpp
+#endif
+
+// the following is to ensure that when one of the libraries changes
+// BJAM rebuilds and relinks the test.
+/*
+#include "polymorphic_text_archive.hpp"
+#include "polymorphic_text_warchive.hpp"
+#include "polymorphic_binary_archive.hpp"
+#include "polymorphic_xml_archive.hpp"
+#include "polymorphic_xml_warchive.hpp"
+*/
+
+#include <boost/preprocessor/stringize.hpp>
+// #include <boost/preprocessor/cat.hpp>
+// the following fails with (only!) gcc 3.4
+// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
+// just copy over the files from the test directory
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include "../test/test_polymorphic_A.hpp"
+
+int test_main(int /* argc */, char * /* argv */ [])
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ const data d;
+ data d1;
+ // test using using polymorphic interface
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+ oa_interface << BOOST_SERIALIZATION_NVP(d);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+ ia_interface >> BOOST_SERIALIZATION_NVP(d1);
+ }
+ BOOST_CHECK(d == d1);
+ std::remove(testfile);
+
+ // test using using polymorphic implementation.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os);
+ oa_implementation << BOOST_SERIALIZATION_NVP(d);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is);
+ ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
+ }
+ BOOST_CHECK(d == d1);
+ std::remove(testfile);
+
+ // test using using polymorphic implementation.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_oarchive * oa_implementation
+ = new test_oarchive(os);
+ *oa_implementation << BOOST_SERIALIZATION_NVP(d);
+ delete oa_implementation;
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_iarchive * ia_implementation
+ = new test_iarchive(is);
+ *ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
+ delete ia_implementation;
+ }
+ BOOST_CHECK(d == d1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/performance/performance_simple_class.cpp b/src/boost/libs/serialization/performance/performance_simple_class.cpp
new file mode 100644
index 000000000..3f936078a
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_simple_class.cpp
@@ -0,0 +1,55 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_simple_class.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// should pass compilation and execution
+
+// invoke header for a custom archive test.
+
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "../test/test_tools.hpp"
+#include <boost/preprocessor/stringize.hpp>
+// #include <boost/preprocessor/cat.hpp>
+// the following fails with (only!) gcc 3.4
+// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
+// just copy over the files from the test directory
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#include <boost/serialization/nvp.hpp>
+#include "../test/A.hpp"
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ A a, a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(a, a1);
+ std::remove(testfile);
+ return (a == a1) ? EXIT_SUCCESS : EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/performance/performance_utf8_codecvt.cpp b/src/boost/libs/serialization/performance/performance_utf8_codecvt.cpp
new file mode 100644
index 000000000..2562f4a71
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_utf8_codecvt.cpp
@@ -0,0 +1,248 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_utf8_codecvt.cpp
+
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <iterator>
+#include <locale>
+#include <vector>
+#include <string>
+
+#include <cstddef> // size_t
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::size_t;
+} // namespace std
+#endif
+
+#include <cwchar>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{ using ::wcslen; }
+#endif
+
+#include "../test/test_tools.hpp"
+#include <boost/archive/iterators/istream_iterator.hpp>
+#include <boost/archive/iterators/ostream_iterator.hpp>
+
+#include <boost/archive/add_facet.hpp>
+#include <boost/archive/detail/utf8_codecvt_facet.hpp>
+
+template<std::size_t s>
+struct test_data
+{
+ static unsigned char utf8_encoding[];
+ static wchar_t wchar_encoding[];
+};
+
+template<>
+unsigned char test_data<2>::utf8_encoding[] = {
+ 0x01,
+ 0x7f,
+ 0xc2, 0x80,
+ 0xdf, 0xbf,
+ 0xe0, 0xa0, 0x80,
+ 0xe7, 0xbf, 0xbf
+};
+
+template<>
+wchar_t test_data<2>::wchar_encoding[] = {
+ 0x0001,
+ 0x007f,
+ 0x0080,
+ 0x07ff,
+ 0x0800,
+ 0x7fff
+};
+
+template<>
+unsigned char test_data<4>::utf8_encoding[] = {
+ 0x01,
+ 0x7f,
+ 0xc2, 0x80,
+ 0xdf, 0xbf,
+ 0xe0, 0xa0, 0x80,
+ 0xef, 0xbf, 0xbf,
+ 0xf0, 0x90, 0x80, 0x80,
+ 0xf4, 0x8f, 0xbf, 0xbf,
+ 0xf7, 0xbf, 0xbf, 0xbf,
+ 0xf8, 0x88, 0x80, 0x80, 0x80,
+ 0xfb, 0xbf, 0xbf, 0xbf, 0xbf,
+ 0xfc, 0x84, 0x80, 0x80, 0x80, 0x80,
+ 0xfd, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf
+};
+
+template<>
+wchar_t test_data<4>::wchar_encoding[] = {
+ 0x00000001,
+ 0x0000007f,
+ 0x00000080,
+ 0x000007ff,
+ 0x00000800,
+ 0x0000ffff,
+ 0x00010000,
+ 0x0010ffff,
+ 0x001fffff,
+ 0x00200000,
+ 0x03ffffff,
+ 0x04000000,
+ 0x7fffffff
+};
+
+int
+test_main(int /* argc */, char * /* argv */[]) {
+ std::locale old_loc;
+ std::locale * utf8_locale
+ = boost::archive::add_facet(
+ old_loc,
+ new boost::archive::detail::utf8_codecvt_facet
+ );
+
+ typedef char utf8_t;
+ typedef test_data<sizeof(wchar_t)> td;
+
+ // Send our test UTF-8 data to file
+ {
+ std::ofstream ofs;
+ ofs.open("test.dat", std::ios::binary);
+ std::copy(
+ td::utf8_encoding,
+ #if ! defined(__BORLANDC__)
+ // borland 5.60 complains about this
+ td::utf8_encoding + sizeof(td::utf8_encoding) / sizeof(unsigned char),
+ #else
+ // so use this instead
+ td::utf8_encoding + 12,
+ #endif
+ boost::archive::iterators::ostream_iterator<utf8_t>(ofs)
+ );
+ }
+
+ // Read the test data back in, converting to UCS-4 on the way in
+ std::vector<wchar_t> from_file;
+ {
+ std::wifstream ifs;
+ ifs.imbue(*utf8_locale);
+ ifs.open("test.dat");
+
+ wchar_t item = 0;
+ // note can't use normal vector from iterator constructor because
+ // dinkumware doesn't have it.
+ for(;;){
+ item = ifs.get();
+ if(item == WEOF)
+ break;
+ //ifs >> item;
+ //if(ifs.eof())
+ // break;
+ from_file.push_back(item);
+ }
+ }
+
+ // compare the data read back in with the orginal
+ #if ! defined(__BORLANDC__)
+ // borland 5.60 complains about this
+ BOOST_CHECK(from_file.size() == sizeof(td::wchar_encoding)/sizeof(wchar_t));
+ #else
+ // so use this instead
+ BOOST_CHECK(from_file.size() == 6);
+ #endif
+
+ BOOST_CHECK(std::equal(from_file.begin(), from_file.end(), td::wchar_encoding));
+
+ // Send the UCS4_data back out, converting to UTF-8
+ {
+ std::wofstream ofs;
+ ofs.imbue(*utf8_locale);
+ ofs.open("test2.dat");
+ std::copy(
+ from_file.begin(),
+ from_file.end(),
+ boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
+ );
+ }
+
+ // Make sure that both files are the same
+ {
+ typedef boost::archive::iterators::istream_iterator<utf8_t> is_iter;
+ is_iter end_iter;
+
+ std::ifstream ifs1("test.dat");
+ is_iter it1(ifs1);
+ std::vector<utf8_t> data1;
+ std::copy(it1, end_iter, std::back_inserter(data1));
+
+ std::ifstream ifs2("test2.dat");
+ is_iter it2(ifs2);
+ std::vector<utf8_t> data2;
+ std::copy(it2, end_iter, std::back_inserter(data2));
+
+ BOOST_CHECK(data1 == data2);
+ }
+
+ // some libraries have trouble that only shows up with longer strings
+
+ wchar_t * test3_data = L"\
+ <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\
+ <!DOCTYPE boost_serialization>\
+ <boost_serialization signature=\"serialization::archive\" version=\"3\">\
+ <a class_id=\"0\" tracking_level=\"0\">\
+ <b>1</b>\
+ <f>96953204</f>\
+ <g>177129195</g>\
+ <l>1</l>\
+ <m>5627</m>\
+ <n>23010</n>\
+ <o>7419</o>\
+ <p>16212</p>\
+ <q>4086</q>\
+ <r>2749</r>\
+ <c>-33</c>\
+ <s>124</s>\
+ <t>28</t>\
+ <u>32225</u>\
+ <v>17543</v>\
+ <w>0.84431422</w>\
+ <x>1.0170664757130923</x>\
+ <y>tjbx</y>\
+ <z>cuwjentqpkejp</z>\
+ </a>\
+ </boost_serialization>\
+ ";
+
+ // Send the UCS4_data back out, converting to UTF-8
+ std::size_t l = std::wcslen(test3_data);
+ {
+ std::wofstream ofs;
+ ofs.imbue(*utf8_locale);
+ ofs.open("test3.dat");
+ std::copy(
+ test3_data,
+ test3_data + l,
+ boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
+ );
+ }
+
+ // Make sure that both files are the same
+ {
+ std::wifstream ifs;
+ ifs.imbue(*utf8_locale);
+ ifs.open("test3.dat");
+ BOOST_CHECK(
+ std::equal(
+ test3_data,
+ test3_data + l,
+ boost::archive::iterators::istream_iterator<wchar_t>(ifs)
+ )
+ );
+ }
+
+ delete utf8_locale;
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/performance/performance_vector.cpp b/src/boost/libs/serialization/performance/performance_vector.cpp
new file mode 100644
index 000000000..f415c6ea2
--- /dev/null
+++ b/src/boost/libs/serialization/performance/performance_vector.cpp
@@ -0,0 +1,70 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_vector.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// should pass compilation and execution
+
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "../test/test_tools.hpp"
+#include <boost/preprocessor/stringize.hpp>
+// #include <boost/preprocessor/cat.hpp>
+// the following fails with (only!) gcc 3.4
+// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
+// just copy over the files from the test directory
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+#include <boost/serialization/vector.hpp>
+
+#include "../test/A.hpp"
+
+template <class T>
+int test_vector(T)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::vector<T> avector;
+ avector.push_back(T());
+ avector.push_back(T());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("avector", avector);
+ }
+ std::vector<T> avector1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("avector", avector1);
+ }
+ BOOST_CHECK(avector == avector1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ int res = test_vector(A());
+ // test an int vector for which optimized versions should be available
+ if (res == EXIT_SUCCESS)
+ res = test_vector(0);
+ // test a bool vector
+ if (res == EXIT_SUCCESS)
+ res = test_vector(false);
+ return res;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp b/src/boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp
new file mode 100644
index 000000000..5097433aa
--- /dev/null
+++ b/src/boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_binary_oarchive.hpp>
+typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_binary_iarchive.hpp>
+typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/src/boost/libs/serialization/performance/polymorphic_binary_archive.hpp b/src/boost/libs/serialization/performance/polymorphic_binary_archive.hpp
new file mode 100644
index 000000000..5097433aa
--- /dev/null
+++ b/src/boost/libs/serialization/performance/polymorphic_binary_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_binary_oarchive.hpp>
+typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_binary_iarchive.hpp>
+typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/src/boost/libs/serialization/performance/polymorphic_text_archive.hpp b/src/boost/libs/serialization/performance/polymorphic_text_archive.hpp
new file mode 100644
index 000000000..c8184b157
--- /dev/null
+++ b/src/boost/libs/serialization/performance/polymorphic_text_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_text_oarchive.hpp>
+typedef boost::archive::polymorphic_text_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_text_iarchive.hpp>
+typedef boost::archive::polymorphic_text_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/src/boost/libs/serialization/performance/polymorphic_text_warchive.hpp b/src/boost/libs/serialization/performance/polymorphic_text_warchive.hpp
new file mode 100644
index 000000000..4a5774c83
--- /dev/null
+++ b/src/boost/libs/serialization/performance/polymorphic_text_warchive.hpp
@@ -0,0 +1,18 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+#include <boost/archive/polymorphic_text_woarchive.hpp>
+typedef boost::archive::polymorphic_text_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/polymorphic_text_wiarchive.hpp>
+typedef boost::archive::polymorphic_text_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
+#endif
diff --git a/src/boost/libs/serialization/performance/polymorphic_xml_archive.hpp b/src/boost/libs/serialization/performance/polymorphic_xml_archive.hpp
new file mode 100644
index 000000000..849d1a02d
--- /dev/null
+++ b/src/boost/libs/serialization/performance/polymorphic_xml_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_xml_oarchive.hpp>
+typedef boost::archive::polymorphic_xml_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_xml_iarchive.hpp>
+typedef boost::archive::polymorphic_xml_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/src/boost/libs/serialization/performance/polymorphic_xml_warchive.hpp b/src/boost/libs/serialization/performance/polymorphic_xml_warchive.hpp
new file mode 100644
index 000000000..1f5c5ff0a
--- /dev/null
+++ b/src/boost/libs/serialization/performance/polymorphic_xml_warchive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_xml_woarchive.hpp>
+typedef boost::archive::polymorphic_xml_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/polymorphic_xml_wiarchive.hpp>
+typedef boost::archive::polymorphic_xml_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/src/boost/libs/serialization/performance/portable_binary_archive.hpp b/src/boost/libs/serialization/performance/portable_binary_archive.hpp
new file mode 100644
index 000000000..c1377c92e
--- /dev/null
+++ b/src/boost/libs/serialization/performance/portable_binary_archive.hpp
@@ -0,0 +1,22 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.// file includes for testing a custom archive.
+// as an example this tests the portable binary archive
+
+// #include output archive header
+#include "../example/portable_binary_oarchive.hpp"
+// define output archive class to be used
+typedef portable_binary_oarchive test_oarchive;
+// and corresponding stream
+typedef std::ofstream test_ostream;
+
+// repeat the above for correspondng input archive
+#include "../example/portable_binary_iarchive.hpp"
+typedef portable_binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+
+// and stream open flags
+#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/src/boost/libs/serialization/performance/profile.sh b/src/boost/libs/serialization/performance/profile.sh
new file mode 100755
index 000000000..95ae42022
--- /dev/null
+++ b/src/boost/libs/serialization/performance/profile.sh
@@ -0,0 +1,39 @@
+# build and run the tests leaving the executables in place
+
+# (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+# Use, modification and distribution is subject to the Boost Software
+# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# profile.sh --toolset=gcc preserve-test-targets=on variant=profile
+if test $# -eq 0
+then
+ echo "Usage: $0 <bjam arguments>"
+ echo "Typical bjam arguements are:"
+ echo " toolset=msvc-7.1,gcc"
+ echo " link=static,shared"
+ echo " threading=single,multi"
+ echo " -sBOOST_ARCHIVE_LIST=<archive name>"
+else
+ bjam --dump-tests variant=profile preserve-test-targets=on $@ >bjam.log 2>&1
+ process_jam_log --v2 <bjam.log
+
+ # for each test directory
+
+ for dir in \
+ ../../../bin.v2/libs/serialization/performance/*/gcc*/profile \
+ ../../../bin.v2/libs/serialization/performance/*/gcc*/*/profile
+ do
+ # execute test
+ for exe in $dir/*.exe
+ do
+ # execute the test
+ echo executing $exe
+ $exe
+ # copy profile to test directory
+ gprof $exe gmon.out >$dir/profile.txt
+ done
+ done
+
+ library_status library_status.html links.html
+fi
diff --git a/src/boost/libs/serialization/performance/text_archive.hpp b/src/boost/libs/serialization/performance/text_archive.hpp
new file mode 100644
index 000000000..e7e1b3ca4
--- /dev/null
+++ b/src/boost/libs/serialization/performance/text_archive.hpp
@@ -0,0 +1,14 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// text_archive
+#include <boost/archive/text_oarchive.hpp>
+typedef boost::archive::text_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/text_iarchive.hpp>
+typedef boost::archive::text_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/src/boost/libs/serialization/performance/text_warchive.hpp b/src/boost/libs/serialization/performance/text_warchive.hpp
new file mode 100644
index 000000000..de7dea01b
--- /dev/null
+++ b/src/boost/libs/serialization/performance/text_warchive.hpp
@@ -0,0 +1,19 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// text_warchive
+#include <boost/archive/text_woarchive.hpp>
+typedef boost::archive::text_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/text_wiarchive.hpp>
+typedef boost::archive::text_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
+
+
+
+
+
diff --git a/src/boost/libs/serialization/performance/xml/Jamfile.v2 b/src/boost/libs/serialization/performance/xml/Jamfile.v2
new file mode 100644
index 000000000..cdd792e55
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/Jamfile.v2
@@ -0,0 +1,35 @@
+################################################################################
+#
+# (C) Copyright 2010 Bryce Lelbach
+#
+# Use, modification and distribution is subject to the Boost Software License,
+# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+################################################################################
+
+project bsl-xml-benchmark ;
+
+exe int4_test : int4_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe int16_test : int16_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe int64_test : int64_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe int256_test : int256_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe string4_test : string4_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe string16_test : string16_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe string64_test : string64_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
+
+exe string256_test : string256_test.cpp
+ : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
diff --git a/src/boost/libs/serialization/performance/xml/harness.hpp b/src/boost/libs/serialization/performance/xml/harness.hpp
new file mode 100644
index 000000000..8955be216
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/harness.hpp
@@ -0,0 +1,188 @@
+/* /libs/serialization/xml_performance/harness.hpp *****************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#if !defined(BOOST_SERIALIZATION_XML_PERFORMANCE_HARNESS_HPP)
+#define BOOST_SERIALIZATION_XML_PERFORMANCE_HARNESS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+ # pragma once
+#endif
+
+#include <cassert>
+#include <cstdio>
+
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <utility>
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+ namespace std {
+ using ::remove;
+ }
+#endif
+
+#include <boost/uuid/uuid.hpp>
+#include <boost/uuid/uuid_io.hpp>
+#include <boost/uuid/random_generator.hpp>
+
+#include <boost/functional/hash.hpp>
+
+#include <boost/utility/enable_if.hpp>
+
+#include <boost/type_traits/is_integral.hpp>
+
+#include <boost/archive/xml_iarchive.hpp>
+#include <boost/archive/xml_oarchive.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+
+#include "high_resolution_timer.hpp" // from /libs/spirit/optimization
+
+#include "node.hpp" // includes macro.hpp
+
+namespace boost {
+namespace archive {
+namespace xml {
+
+template<typename T> T random (void);
+
+template<typename T> T
+random (void) {
+ using namespace boost::uuids;
+
+ hash<uuid> hash;
+ basic_random_generator<mt19937> gen;
+
+ return hash(gen());
+}
+
+template<> std::string
+random<std::string> (void) {
+ using namespace boost::uuids;
+
+ basic_random_generator<mt19937> gen;
+ uuid u = gen();
+
+ return to_string(u);
+}
+
+template<typename T> std::string
+save_archive (T const& s) {
+ std::string fn = random<std::string>() +
+ "-" BOOST_PP_STRINGIZE(BSL_TYPE)
+ BOOST_PP_STRINGIZE(BSL_EXP(BSL_NODE_MAX, BSL_DEPTH))
+ ".xml"
+ ;
+
+ std::ofstream ofs(fn.c_str());
+
+ assert(ofs.good());
+
+ xml_oarchive oa(ofs);
+ oa << BOOST_SERIALIZATION_NVP(s);
+
+ ofs.close();
+ return fn;
+}
+
+template<typename T> std::pair<double, T>
+restore_archive (std::string fn) {
+ std::ifstream ifs(fn.c_str());
+ T s;
+
+ assert(ifs.good());
+
+ high_resolution_timer u;
+
+ xml_iarchive ia(ifs);
+ ia >> BOOST_SERIALIZATION_NVP(s);
+
+ ifs.close();
+ return std::pair<double, T>(u.elapsed(), s);
+}
+
+class result_set_exception: public virtual archive_exception {
+ public:
+ enum exception_code {
+ invalid_archive_metadata
+ };
+
+ result_set_exception (exception_code c = invalid_archive_metadata){ }
+
+ virtual const char* what() const throw() {
+ const char *msg = "";
+
+ switch (code) {
+ case invalid_archive_metadata:
+ msg = "result set was not created on this system";
+ default:
+ archive_exception::what();
+ }
+
+ return msg;
+ }
+};
+
+struct entry {
+ std::string type;
+ std::size_t size;
+ double data;
+
+ template<class ARC>
+ void serialize (ARC& ar, const unsigned int) {
+ ar & BOOST_SERIALIZATION_NVP(type)
+ & BOOST_SERIALIZATION_NVP(size)
+ & BOOST_SERIALIZATION_NVP(data)
+ ;
+ }
+
+ entry (void) { }
+
+ entry (std::string type, std::size_t size, double data):
+ type(type), size(size), data(data) { }
+};
+
+struct result_set {
+ std::string compiler;
+ std::string platform;
+ std::list<entry> entries;
+
+ template<class ARC>
+ void serialize (ARC& ar, const unsigned int) {
+ ar & BOOST_SERIALIZATION_NVP(compiler)
+ & BOOST_SERIALIZATION_NVP(platform)
+ & BOOST_SERIALIZATION_NVP(entries)
+ ;
+
+ if ( (compiler != BOOST_COMPILER)
+ || (platform != BOOST_PLATFORM))
+ throw result_set_exception();
+ }
+
+ result_set (void):
+ compiler(BOOST_COMPILER),
+ platform(BOOST_PLATFORM) { }
+
+ result_set (std::list<entry> entries):
+ compiler(BOOST_COMPILER),
+ platform(BOOST_PLATFORM),
+ entries(entries) { }
+};
+
+} // xml
+} // archive
+} // boost
+
+#endif // BOOST_SERIALIZATION_XML_PERFORMANCE_HARNESS_HPP
+
diff --git a/src/boost/libs/serialization/performance/xml/high_resolution_timer.hpp b/src/boost/libs/serialization/performance/xml/high_resolution_timer.hpp
new file mode 100644
index 000000000..afa5495da
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/high_resolution_timer.hpp
@@ -0,0 +1,489 @@
+// Copyright (c) 2005-2010 Hartmut Kaiser
+// Copyright (c) 2009 Edward Grace
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined(HIGH_RESOLUTION_TIMER_MAR_24_2008_1222PM)
+#define HIGH_RESOLUTION_TIMER_MAR_24_2008_1222PM
+
+#include <boost/config.hpp>
+#include <boost/throw_exception.hpp>
+
+#if defined(BOOST_HAS_UNISTD_H)
+#include <unistd.h>
+#endif
+#include <time.h>
+#include <stdexcept>
+#include <limits>
+
+#if defined(BOOST_WINDOWS)
+
+#include <windows.h>
+
+namespace boost {
+namespace archive {
+namespace xml {
+ ///////////////////////////////////////////////////////////////////////////////
+ //
+ // high_resolution_timer
+ // A timer object measures elapsed time.
+ // CAUTION: Windows only!
+ //
+ ///////////////////////////////////////////////////////////////////////////////
+ class high_resolution_timer
+ {
+ public:
+ high_resolution_timer()
+ {
+ restart();
+ }
+
+ high_resolution_timer(double t)
+ {
+ LARGE_INTEGER frequency;
+ if (!QueryPerformanceFrequency(&frequency))
+ boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
+
+ start_time.QuadPart = (LONGLONG)(t * frequency.QuadPart);
+ }
+
+ high_resolution_timer(high_resolution_timer const& rhs)
+ : start_time(rhs.start_time)
+ {
+ }
+
+ static double now()
+ {
+ SYSTEMTIME st;
+ GetSystemTime(&st);
+
+ FILETIME ft;
+ SystemTimeToFileTime(&st, &ft);
+
+ LARGE_INTEGER now;
+ now.LowPart = ft.dwLowDateTime;
+ now.HighPart = ft.dwHighDateTime;
+
+ // FileTime is in 100ns increments, result needs to be in [s]
+ return now.QuadPart * 1e-7;
+ }
+
+ void restart()
+ {
+ if (!QueryPerformanceCounter(&start_time))
+ boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
+ }
+ double elapsed() const // return elapsed time in seconds
+ {
+ LARGE_INTEGER now;
+ if (!QueryPerformanceCounter(&now))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+
+ LARGE_INTEGER frequency;
+ if (!QueryPerformanceFrequency(&frequency))
+ boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
+
+ return double(now.QuadPart - start_time.QuadPart) / frequency.QuadPart;
+ }
+
+ double elapsed_max() const // return estimated maximum value for elapsed()
+ {
+ LARGE_INTEGER frequency;
+ if (!QueryPerformanceFrequency(&frequency))
+ boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
+
+ return double((std::numeric_limits<LONGLONG>::max)() - start_time.QuadPart) /
+ double(frequency.QuadPart);
+ }
+
+ double elapsed_min() const // return minimum value for elapsed()
+ {
+ LARGE_INTEGER frequency;
+ if (!QueryPerformanceFrequency(&frequency))
+ boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
+
+ return 1.0 / frequency.QuadPart;
+ }
+
+ private:
+ LARGE_INTEGER start_time;
+ };
+
+} // xml
+} // archive
+} // boost
+
+#elif defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 && defined(_POSIX_THREAD_CPUTIME)
+
+#if _POSIX_THREAD_CPUTIME > 0 // timer always supported
+
+namespace boost {
+namespace archive {
+namespace xml {
+
+ ///////////////////////////////////////////////////////////////////////////////
+ //
+ // high_resolution_timer
+ // A timer object measures elapsed time.
+ //
+ ///////////////////////////////////////////////////////////////////////////////
+ class high_resolution_timer
+ {
+ public:
+ high_resolution_timer()
+ {
+ start_time.tv_sec = 0;
+ start_time.tv_nsec = 0;
+
+ restart();
+ }
+
+ high_resolution_timer(double t)
+ {
+ start_time.tv_sec = time_t(t);
+ start_time.tv_nsec = (t - start_time.tv_sec) * 1e9;
+ }
+
+ high_resolution_timer(high_resolution_timer const& rhs)
+ : start_time(rhs.start_time)
+ {
+ }
+
+ static double now()
+ {
+ timespec now;
+ if (-1 == clock_gettime(CLOCK_REALTIME, &now))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+ return double(now.tv_sec) + double(now.tv_nsec) * 1e-9;
+ }
+
+ void restart()
+ {
+ if (-1 == clock_gettime(CLOCK_REALTIME, &start_time))
+ boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
+ }
+ double elapsed() const // return elapsed time in seconds
+ {
+ timespec now;
+ if (-1 == clock_gettime(CLOCK_REALTIME, &now))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+
+ if (now.tv_sec == start_time.tv_sec)
+ return double(now.tv_nsec - start_time.tv_nsec) * 1e-9;
+
+ return double(now.tv_sec - start_time.tv_sec) +
+ (double(now.tv_nsec - start_time.tv_nsec) * 1e-9);
+ }
+
+ double elapsed_max() const // return estimated maximum value for elapsed()
+ {
+ return double((std::numeric_limits<time_t>::max)() - start_time.tv_sec);
+ }
+
+ double elapsed_min() const // return minimum value for elapsed()
+ {
+ timespec resolution;
+ if (-1 == clock_getres(CLOCK_REALTIME, &resolution))
+ boost::throw_exception(std::runtime_error("Couldn't get resolution"));
+ return double(resolution.tv_sec + resolution.tv_nsec * 1e-9);
+ }
+
+ private:
+ timespec start_time;
+ };
+
+} // xml
+} // archive
+} // boost
+
+#else // _POSIX_THREAD_CPUTIME > 0
+
+#include <boost/timer.hpp>
+
+// availability of high performance timers must be checked at runtime
+namespace boost {
+namespace archive {
+namespace xml {
+ ///////////////////////////////////////////////////////////////////////////////
+ //
+ // high_resolution_timer
+ // A timer object measures elapsed time.
+ //
+ ///////////////////////////////////////////////////////////////////////////////
+ class high_resolution_timer
+ {
+ public:
+ high_resolution_timer()
+ : use_backup(sysconf(_SC_THREAD_CPUTIME) <= 0)
+ {
+ if (!use_backup) {
+ start_time.tv_sec = 0;
+ start_time.tv_nsec = 0;
+ }
+ restart();
+ }
+
+ high_resolution_timer(double t)
+ : use_backup(sysconf(_SC_THREAD_CPUTIME) <= 0)
+ {
+ if (!use_backup) {
+ start_time.tv_sec = time_t(t);
+ start_time.tv_nsec = (t - start_time.tv_sec) * 1e9;
+ }
+ }
+
+ high_resolution_timer(high_resolution_timer const& rhs)
+ : use_backup(sysconf(_SC_THREAD_CPUTIME) <= 0),
+ start_time(rhs.start_time)
+ {
+ }
+
+ static double now()
+ {
+ if (sysconf(_SC_THREAD_CPUTIME) <= 0)
+ return double(std::clock());
+
+ timespec now;
+ if (-1 == clock_gettime(CLOCK_REALTIME, &now))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+ return double(now.tv_sec) + double(now.tv_nsec) * 1e-9;
+ }
+
+ void restart()
+ {
+ if (use_backup)
+ start_time_backup.restart();
+ else if (-1 == clock_gettime(CLOCK_REALTIME, &start_time))
+ boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
+ }
+ double elapsed() const // return elapsed time in seconds
+ {
+ if (use_backup)
+ return start_time_backup.elapsed();
+
+ timespec now;
+ if (-1 == clock_gettime(CLOCK_REALTIME, &now))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+
+ if (now.tv_sec == start_time.tv_sec)
+ return double(now.tv_nsec - start_time.tv_nsec) * 1e-9;
+
+ return double(now.tv_sec - start_time.tv_sec) +
+ (double(now.tv_nsec - start_time.tv_nsec) * 1e-9);
+ }
+
+ double elapsed_max() const // return estimated maximum value for elapsed()
+ {
+ if (use_backup)
+ start_time_backup.elapsed_max();
+
+ return double((std::numeric_limits<time_t>::max)() - start_time.tv_sec);
+ }
+
+ double elapsed_min() const // return minimum value for elapsed()
+ {
+ if (use_backup)
+ start_time_backup.elapsed_min();
+
+ timespec resolution;
+ if (-1 == clock_getres(CLOCK_REALTIME, &resolution))
+ boost::throw_exception(std::runtime_error("Couldn't get resolution"));
+ return double(resolution.tv_sec + resolution.tv_nsec * 1e-9);
+ }
+
+ private:
+ bool use_backup;
+ timespec start_time;
+ boost::timer start_time_backup;
+ };
+
+} // xml
+} // archive
+} // boost
+
+#endif // _POSIX_THREAD_CPUTIME > 0
+
+#else // !defined(BOOST_WINDOWS) && (!defined(_POSIX_TIMERS)
+ // || _POSIX_TIMERS <= 0
+ // || !defined(_POSIX_THREAD_CPUTIME)
+ // || _POSIX_THREAD_CPUTIME <= 0)
+
+#if defined(BOOST_HAS_GETTIMEOFDAY)
+
+// For platforms that do not support _POSIX_TIMERS but do have
+// GETTIMEOFDAY, which is still preferable to std::clock()
+#include <sys/time.h>
+
+namespace boost {
+namespace archive {
+namespace xml {
+
+ ///////////////////////////////////////////////////////////////////////////
+ //
+ // high_resolution_timer
+ // A timer object measures elapsed time.
+ //
+ // Implemented with gettimeofday() for platforms that support it,
+ // such as Darwin (OS X) but do not support the previous options.
+ //
+ // Copyright (c) 2009 Edward Grace
+ //
+ ///////////////////////////////////////////////////////////////////////////
+ class high_resolution_timer
+ {
+ private:
+ template <typename U>
+ static inline double unsigned_diff(const U &a, const U &b)
+ {
+ if (a > b)
+ return static_cast<double>(a-b);
+ return -static_cast<double>(b-a);
+ }
+
+ // @brief Return the difference between two timeval types.
+ //
+ // @param t1 The most recent timeval.
+ // @param t0 The historical timeval.
+ //
+ // @return The difference between the two in seconds.
+ double elapsed(const timeval &t1, const timeval &t0) const
+ {
+ if (t1.tv_sec == t0.tv_sec)
+ return unsigned_diff(t1.tv_usec,t0.tv_usec) * 1e-6;
+
+ // We do it this way as the result of the difference of the
+ // microseconds can be negative if the clock is implemented so
+ // that the seconds timer increases in large steps.
+ //
+ // Naive subtraction of the unsigned types and conversion to
+ // double can wreak havoc!
+ return unsigned_diff(t1.tv_sec,t0.tv_sec) +
+ unsigned_diff(t1.tv_usec,t0.tv_usec) * 1e-6;
+ }
+
+ public:
+ high_resolution_timer()
+ {
+ start_time.tv_sec = 0;
+ start_time.tv_usec = 0;
+
+ restart();
+ }
+
+ high_resolution_timer(double t)
+ {
+ start_time.tv_sec = time_t(t);
+ start_time.tv_usec = (t - start_time.tv_sec) * 1e6;
+ }
+
+ high_resolution_timer(high_resolution_timer const& rhs)
+ : start_time(rhs.start_time)
+ {
+ }
+
+ static double now()
+ {
+ // Under some implementations gettimeofday() will always
+ // return zero. If it returns anything else however then
+ // we accept this as evidence of an error. Note we are
+ // not assuming that -1 explicitly indicates the error
+ // condition, just that non zero is indicative of the
+ // error.
+ timeval now;
+ if (gettimeofday(&now, NULL))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+ return double(now.tv_sec) + double(now.tv_usec) * 1e-6;
+ }
+
+ void restart()
+ {
+ if (gettimeofday(&start_time, NULL))
+ boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
+ }
+
+ double elapsed() const // return elapsed time in seconds
+ {
+ timeval now;
+ if (gettimeofday(&now, NULL))
+ boost::throw_exception(std::runtime_error("Couldn't get current time"));
+ return elapsed(now,start_time);
+ }
+
+ double elapsed_max() const // return estimated maximum value for elapsed()
+ {
+ return double((std::numeric_limits<time_t>::max)() - start_time.tv_sec);
+ }
+
+ double elapsed_min() const // return minimum value for elapsed()
+ {
+ // On systems without an explicit clock_getres or similar
+ // we can only estimate an upper bound on the resolution
+ // by repeatedly calling the gettimeofday function. This
+ // is often likely to be indicative of the true
+ // resolution.
+ timeval t0, t1;
+ double delta(0);
+
+ if (gettimeofday(&t0, NULL))
+ boost::throw_exception(std::runtime_error("Couldn't get resolution."));
+
+ // Spin around in a tight loop until we observe a change
+ // in the reported timer value.
+ do {
+ if (gettimeofday(&t1, NULL))
+ boost::throw_exception(std::runtime_error("Couldn't get resolution."));
+ delta = elapsed(t1, t0);
+ } while (delta <= 0.0);
+
+ return delta;
+ }
+
+ private:
+ timeval start_time;
+ };
+
+} // xml
+} // archive
+} // boost
+
+#else // BOOST_HAS_GETTIMEOFDAY
+
+// For platforms other than Windows or Linux, or not implementing gettimeofday
+// simply fall back to boost::timer
+#include <boost/timer.hpp>
+
+namespace boost {
+namespace archive {
+namespace xml {
+
+ struct high_resolution_timer
+ : boost::timer
+ {
+ static double now()
+ {
+ return double(std::clock());
+ }
+ };
+
+} // xml
+} // archive
+} // boost
+
+
+#endif
+
+#endif
+
+#endif // HIGH_RESOLUTION_TIMER_AUG_14_2009_0425PM
+
+//
+// $Log: high_resolution_timer.hpp,v $
+// Revision 1.4 2009/08/14 15:28:10 graceej
+// * It is entirely possible for the updating clock to increment the
+// * seconds and *decrement* the microseconds field. Consequently
+// * when subtracting these unsigned microseconds fields a wrap-around
+// * error can occur. For this reason elapsed(t1, t0) is used in a
+// * similar maner to cycle.h this preserves the sign of the
+// * difference.
+//
diff --git a/src/boost/libs/serialization/performance/xml/int16_results.xml b/src/boost/libs/serialization/performance/xml/int16_results.xml
new file mode 100644
index 000000000..a3708b3d2
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int16_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>int</type>
+ <size>16</size>
+ <data>0.0091240829999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039804419999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003975363</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0041283230000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003973201</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039916819999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039507209999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003963243</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039550010000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039774010000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040641210000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040065630000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039576810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039339209999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039280410000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039456830000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039237630000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039022810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039720409999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039302410000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040139630000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003958441</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039454820000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003940921</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039098830000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039246010000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039138010000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039268810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039260830000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039660830000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039050410000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039309610000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039204830000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039173630000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039208010000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039189620000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039035220000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039350030000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039948810000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039946010000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039224820000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039112830000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.00392612</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039826410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039312010000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003906283</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040008029999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039259610000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039096820000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039164009999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039059230000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039398410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039865610000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039256410000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039788829999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040020799999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039252410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039988810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039786029999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039644430000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039585210000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039494420000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039636020000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039696430000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039952010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039923210000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003981081</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039232429999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039772010000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040404009999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039756820000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039785230000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040130030000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039342810000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039185610000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003929002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039356030000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039261210000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039248010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039206010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003921323</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039623610000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039768010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039882810000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039450430000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039181229999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039785210000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039770420000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003920242</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040526030000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039671610000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039684009999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003951001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039216429999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039896410000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039810010000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039498020000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039298430000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039901630000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039274410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039447610000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039199630000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003965283</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.004002121</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040376020000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003977202</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039340830000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039951610000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003941361</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039718420000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039271230000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039771630000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039450810000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039788410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003906563</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039912430000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039290410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040306020000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039789200000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039774830000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039634810000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039378010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039205619999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039250830000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039660609999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039749609999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003934402</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039190830000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039127229999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039247610000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039810010000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039310410000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039226830000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039676010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039205200000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039862420000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039284430000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.00398292</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039506810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040586010000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039792030000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040032829999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039780409999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039807620000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039528810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039343630000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039706810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039614810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039668810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040543630000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039853600000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039722410000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040198410000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039786029999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039824430000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039788010000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039784420000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039569219999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039798429999999829</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003989561</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039734410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003959522</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039615230000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039729209999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040494010000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003996561</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039343630000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039701229999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039064010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039213620000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039636419999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039354030000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039401610000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003979481</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039353210000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039471230000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039845210000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040990010000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039887210000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039748830000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039555630000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039723610000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039555220000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039587630000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039941630000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039804410000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039180810000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039247220000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039286830000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003925001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039934810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003982602</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039627230000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039693430000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003979481</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039772420000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039774830000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039840029999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039316810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039705210000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040028810000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039730830000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040140410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039439610000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039728410000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039775629999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039797600000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039672409999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003991802</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039799230000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040010829999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039361209999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039165210000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040524020000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039798030000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003964721</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039675610000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040526010000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039617630000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040681210000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039866010000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039520010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039534430000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039646030000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039686809999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039310810000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039799610000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039404429999999602</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040029610000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003971161</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039470020000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039831630000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.003932161</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039708410000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039706020000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039416830000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039592830000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039440410000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039856819999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039864810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039909230000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039244409999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040034810000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039812010000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039719230000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040905210000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039932810000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039387220000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039618029999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040639630000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039436410000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039764420000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039905230000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0040003629999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039767610000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>16</size>
+ <data>0.0039385219999999999</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/int16_test.cpp b/src/boost/libs/serialization/performance/xml/int16_test.cpp
new file mode 100644
index 000000000..bb633f648
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int16_test.cpp
@@ -0,0 +1,20 @@
+/* /libs/serialization/xml_performance/int25_test.cpp **************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#define BSL_TYPE int
+#define BSL_DEPTH 2
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/int256_results.xml b/src/boost/libs/serialization/performance/xml/int256_results.xml
new file mode 100644
index 000000000..488ea9a61
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int256_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>int</type>
+ <size>256</size>
+ <data>0.15321624699999992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08650484</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085920982000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085633820999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16989353200000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.068107577000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16393698700000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.151674061</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085580072000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085237985000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17062496600000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16267781100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16851917800000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14782741100000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086171551999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.114132571</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12319324500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.110353244</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.097322675000000011</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15796201600000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086067782000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.125855732</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.095308130999999907</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085265061000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.109543947</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14504557000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14939509599999989</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.082221090999999968</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.109551042</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12431112100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085782263000000011</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15682879900000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.068575454000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15049496400000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12869196700000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17715746300000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13313712599999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08405491100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16982336199999992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.1650644779999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.087539541000000012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.144009527</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.084986318000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15154921200000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.089096928999999991</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.078815780000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15179225900000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.071424974000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17383854799999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15968935400000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15121306300000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17404088399999995</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14575297599999992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.147578247</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.088792417999999929</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13412004899999996</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086281149000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10452476200000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17052829600000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12843396500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.24160787</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17276313100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08786999299999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10957144100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18513253200000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12825971899999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14682889500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14917019100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13963762200000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.162242785</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.171921189</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.21192338600000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16182439900000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.075873628999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.091050645999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.090728246000000012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16790991200000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.131269792</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.147774081</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.075707901000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085849350000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17120687700000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18270776999999994</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.115657858</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086130823000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08591346100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.148075872</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.093777932000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.170032617</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.078983854000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.183002574</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17499062400000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16999298600000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12343807900000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17547888899999997</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.070078961000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.184841536</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.089750393000000012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.09077006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14565105699999992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17549457500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16971993600000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086169903000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15882590900000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.087636622000000011</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.091248745000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17427003100000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15880698700000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.131337537</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17184867300000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17884059400000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18736676700000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13111488800000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10980652</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.20151995</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10182866500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13558609700000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085793494000000012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.169369618</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16526854600000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.172801116</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.170604694</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085537078000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13368856099999993</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13219763200000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.170200771</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.094924826000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086014382</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.101821225</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.11041902200000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17392156399999992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14795049999999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17319567400000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.177151848</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17826678499999993</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18706392999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.097755478999999923</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085452795000000012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17952716699999993</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.178897155</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17744515400000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18380319199999995</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.090120586000000003</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.20748273</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.121544734</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.097762067000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17140295499999991</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17661355500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.123409586</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18124515800000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17018973100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16837838000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.090471122000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18274939500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.170376201</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086761270000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.07082036600000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.090469033000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17457247199999992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085507465000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086006947</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.091171989000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.087034903000000011</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12438318900000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.091942750000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085740925000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.11181491799999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.114592052</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14088795500000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.11735219499999994</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.172994324</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14173148300000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13917877400000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14680699700000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10930996100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.144352757</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.088056063000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086860233000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.1702753629999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086362106000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085859911000000011</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085879831000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12267887299999991</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.098423322000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.153468932</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.122094645</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.11257624400000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.160093242</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10990803</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16383646200000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.10992213000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15929886000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14134709300000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08445474900000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.087441700000000011</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085373326999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16715591000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.151999576</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17614413999999989</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.096750264000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085893666000000007</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17629694000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16497436300000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086379006000000008</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08848594600000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.068952251000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.177542798</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12553706100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15891637</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086406062000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085517463000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.13787316499999991</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085759060000000012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.156784109</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085655992</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.100888635</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15356141700000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15893653900000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.17356975800000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15669519600000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14556728399999996</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14882284900000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085451261000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.144400527</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14155816700000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14364901800000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16980553100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.15952327000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.087087096999999947</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.114074747</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.083433352000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.109351719</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.087319604000000009</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16535071099999998</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085455526000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.085924925999999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.088723519000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.11805582100000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.086636225999999983</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.075564457000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.074940988</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.093248515000000004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14556818800000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12369044300000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14557024000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.1763824719999999</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14606613100000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.14864195300000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.16122792900000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.18750939500000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.159254863</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.12342580800000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.069498242000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.068196053000000006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.08690642400000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>256</size>
+ <data>0.083593906000000009</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/int256_test.cpp b/src/boost/libs/serialization/performance/xml/int256_test.cpp
new file mode 100644
index 000000000..91bd8e5c6
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int256_test.cpp
@@ -0,0 +1,20 @@
+/* /libs/serialization/xml_performance/int25_test.cpp **************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#define BSL_TYPE int
+#define BSL_DEPTH 4
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/int4_results.xml b/src/boost/libs/serialization/performance/xml/int4_results.xml
new file mode 100644
index 000000000..0c403eb13
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int4_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>int</type>
+ <size>4</size>
+ <data>0.0064683200000000005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013484810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012968400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012938400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001321881</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012813600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012798400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128432</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013019210000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012802800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128484</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001293043</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128148</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012812800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012898830000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012836800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128812</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001305481</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128188</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00129484</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013052410000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012850400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012983600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012958010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012928400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012897200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013186410000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128724</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012884400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001303963</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012984000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013423600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00130412</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013056810000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128388</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012844</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012939210000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012815200000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012848800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012886810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012767200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012861600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012976020000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127812</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128808</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012958430000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012735600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00129024</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012937630000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001314801</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128812</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012858400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001299681</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128736</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012926400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013075610000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012856</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012841200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013007210000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012770400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012774800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012995630000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012760800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013167200000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001299803</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00130152</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012791600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128444</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012910810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012824800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012862000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012863600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012840400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012963220000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012926400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128604</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001302683</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012925600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012863200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012868000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001301803</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012945600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012883200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013074010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128652</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128524</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013003210000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001289</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012887600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012898010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012779200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001284</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013036830000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012790400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128232</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012894430000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013535600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012924400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001294201</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012804800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128228</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001305081</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012888400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012826000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013026020000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012876400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012842400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001301321</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012849600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012959600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012933600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012845600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012874800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012894</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001298881</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012834000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128652</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013008010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128472</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128644</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012989620000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012816000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012825200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012950820000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128012</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012857600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001298883</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127972</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013221600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001299283</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012888000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012896400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001294601</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012852</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012851200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001312281</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012859600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00139204</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001303081</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012967200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012925200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012986430000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012917200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012922000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001318963</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128648</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001284</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001299641</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0014884800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012899600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012945610000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128808</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00137524</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00129112</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012960020000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127808</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012879200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012991210000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128476</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012820400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001311083</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00136856</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013016800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012952410000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012880000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128732</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012946000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013174810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012829200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012948</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001307601</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128432</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012834000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012954820000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128104</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012853200000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013023630000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127676</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012791600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128604</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127564</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012862800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012893610000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012794400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012824800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001308121</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012832000000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012821200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012924810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012824800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127892</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001298443</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012879600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012920800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0028338400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013351200000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013108810000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012887600000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012856</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012970010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012761200000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127644</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012980820000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127684</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012760800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001297201</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127648</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012804800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012903230000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012802800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012727600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012685050000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012786400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012832400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012928410000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012786800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012866400000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012979200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013046820000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012878000000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012865600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012973220000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012819600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012832000000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013041630000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012849200000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013826000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013183230000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012816800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012865600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012882010000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012740000000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127808</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001292762</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012758000000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00127684</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012998010000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012753200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001276</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012916830000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012774800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012794800000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012958830000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012859200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012798</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001303401</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00128304</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012883200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.001291761</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012875200000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012957600000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.00129184</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0013144820000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012892800000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012874400000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>4</size>
+ <data>0.0012954830000000001</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/int4_test.cpp b/src/boost/libs/serialization/performance/xml/int4_test.cpp
new file mode 100644
index 000000000..26db6a1f7
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int4_test.cpp
@@ -0,0 +1,20 @@
+/* /libs/serialization/xml_performance/int5_test.cpp ***************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#define BSL_TYPE int
+#define BSL_DEPTH 1
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/int64_results.xml b/src/boost/libs/serialization/performance/xml/int64_results.xml
new file mode 100644
index 000000000..0234be96e
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int64_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>int</type>
+ <size>64</size>
+ <data>0.019669446</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014487284000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014522886</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014541604000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014511724</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014433683000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014422160000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014430572000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014482052</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014466769000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014473404</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014467164000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014443046000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014502884000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014437164000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014470963000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014436202</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014684172000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014476372000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014445972000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014496126000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014419045</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014431766</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014509245</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014461203000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014438964</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014516004000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014467052000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014451089</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014470532000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014495084</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014541806000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014538686</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014557006000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014515684000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014478643000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014463043</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014503089</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014455809000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486252000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014485492000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014489486000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014524406</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014491006000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014503724000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014480844000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014498644000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014424628</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014758172000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486449</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014480489000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014488966000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014479684000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014487846</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014490003000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014495404000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014468323000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014482585000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014458649000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014433292</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014510932000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014445526</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014448486000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014487125000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014460044000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014419084</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014461804000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014440065</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014518092000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014421129000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014449812000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014491406</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014498206000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014493726</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014491084000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014521844000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014434484000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.01446416</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014464689000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014509292000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014446532000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014462526000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014507046000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492486000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014478405000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014495164000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014410804000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014448363000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014446089</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014426529</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014439369000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014481006000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014549005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014524126</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014579886</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014504884000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014479804000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014504883000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014493212</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.01452561199999991</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014501612000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014468292000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014477526000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014580486</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014502485000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492244000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014523443</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014456803000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014578564</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014513652</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014602012000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014517612000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014438726000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014636246</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014512446000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014496724000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014508804</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014463284000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014476564000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486652000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014519532000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014501529000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014499489000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014508846000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486965000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014604445000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014466683000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014418044000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486163000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014435129000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014433848999999888</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014466412000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014421729000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014503366</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014473445000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014462526000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014440163000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014511683000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014473923000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486921000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014494692000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014464452000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014510572000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014450526000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014446524000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014475006</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014495605000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014441004</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014513924000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014508523000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014639452000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492212000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014475649</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014522406000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492246</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014547646000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014526446</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014550083</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014535804000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014513963000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014525052</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014477651999999952</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014536052000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014505209000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014549046000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014494046000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014543766000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014517763000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014560324000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014490044000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.01452084</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014468092</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014456372</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014464052000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014488444000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014533046000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014455205</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014468363000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014420884</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014514723</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014476803000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014691652000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014528652000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014488212</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486725000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492484000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014512206000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014477606000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014445083000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014434764000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014466163000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014462852000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014470572000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492972000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014462692000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014505326000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014498126</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014515127000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014505484000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014550483000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014492964000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014474105000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014491652000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014511252000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014481772</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014490206</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014557166000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014467925000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014520123000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014490163</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014529804</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014479643</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014665332000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014451529000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014474492</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014458326000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014478766000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014512045000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014480244000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014506004000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014465164000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014486164000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014495092000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014493612000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014517529000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014456050000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014505726</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014472166000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014522446000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014501124000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014496084000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014433204000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.015052948000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014451772000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014503892000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014487729000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014457845</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014468924000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014471005</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014513285000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014458324000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014509163</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014488203000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014733972000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014396972000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014481252000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014464165000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014463646</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014520247000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014405925000000002</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014428203000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014457364</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014505124000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014459212000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014439049000000001</data>
+ </item>
+ <item>
+ <type>int</type>
+ <size>64</size>
+ <data>0.014547252</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/int64_test.cpp b/src/boost/libs/serialization/performance/xml/int64_test.cpp
new file mode 100644
index 000000000..f7a51e333
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/int64_test.cpp
@@ -0,0 +1,20 @@
+/* /libs/serialization/xml_performance/int25_test.cpp **************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#define BSL_TYPE int
+#define BSL_DEPTH 3
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/macro.hpp b/src/boost/libs/serialization/performance/xml/macro.hpp
new file mode 100644
index 000000000..6f8cbf963
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/macro.hpp
@@ -0,0 +1,229 @@
+/* /libs/serialization/xml_performance/macro.hpp *******************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#if !defined(BOOST_SERIALIZATION_XML_PERFORMANCE_MACRO_HPP)
+#define BOOST_SERIALIZATION_XML_PERFORMANCE_MACRO_HPP
+
+#if defined(_MSC_VER)
+ #pragma once
+#endif
+
+#include <boost/preprocessor.hpp>
+
+#if !defined(BSL_NODE_MAX)
+ #define BSL_NODE_MAX 4
+#endif
+
+#if !defined(BSL_DEPTH)
+ #define BSL_DEPTH 2
+#endif
+
+#if !defined(BSL_ROUNDS)
+ #define BSL_ROUNDS 256
+#endif
+
+#if !defined(BSL_TYPE)
+ #define BSL_TYPE int
+#endif
+
+#if !defined(BSL_SAVE_TMPFILE)
+ #define BSL_SAVE_TMPFILE 0
+#endif
+
+#if !defined(BSL_RESULTS_FILE)
+ #define BSL_RESULTS_FILE \
+ BOOST_PP_STRINGIZE(BSL_TYPE) \
+ BOOST_PP_STRINGIZE(BSL_EXP(BSL_NODE_MAX, BSL_DEPTH)) \
+ "_results.xml" \
+ /**/
+#endif
+
+// utility print macro
+
+#define BSL_PRINT(Z, N, T) T
+
+// preprocessor power function, BSL_EXP
+
+#define BSL_EXP_PRED(B, D) BOOST_PP_TUPLE_ELEM(3, 0, D)
+
+#define BSL_EXP_OP(B, D) \
+ ( \
+ BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3, 0, D)), \
+ BOOST_PP_TUPLE_ELEM(3, 1, D), \
+ BOOST_PP_MUL_D( \
+ B, \
+ BOOST_PP_TUPLE_ELEM(3, 2, D), \
+ BOOST_PP_TUPLE_ELEM(3, 1, D) \
+ ) \
+ ) \
+ /**/
+
+#define BSL_EXP(X, N) \
+ BOOST_PP_TUPLE_ELEM( \
+ 3, 2, BOOST_PP_WHILE(BSL_EXP_PRED, BSL_EXP_OP, (N, X, 1)) \
+ ) \
+ /**/
+
+// boost::archive::xml::node macros
+
+#define BSL_NODE_DECL_MEMBER(Z, N, _) T ## N element ## N ;
+#define BSL_NODE_DECL_NONE(Z, N, _) unused_type element ## N ;
+#define BSL_NODE_xDECL_CTOR() node (void) { }
+
+#define BSL_NODE_DECL_CTOR(P) \
+ BOOST_PP_IF(P, \
+ BSL_NODE_xDECL_CTOR, \
+ BOOST_PP_EMPTY \
+ )() \
+ /**/
+
+#define BSL_NODE_SERIALIZE(Z, N, _) \
+ & BOOST_SERIALIZATION_NVP(BOOST_PP_CAT(element, N)) \
+ /**/
+
+#define BSL_NODE_INIT_LIST(Z, N, _) \
+ BOOST_PP_COMMA_IF(N) BOOST_PP_CAT(element, N) \
+ BOOST_PP_LPAREN() BOOST_PP_CAT(p, N) BOOST_PP_RPAREN() \
+ /**/
+
+#define BSL_NODE_DECL(Z, N, _) \
+ template<BOOST_PP_ENUM_PARAMS_Z(Z, N, typename T)> \
+ struct node< \
+ BOOST_PP_ENUM_PARAMS_Z(Z, N, T) \
+ BOOST_PP_COMMA_IF(N) \
+ BOOST_PP_ENUM_ ## Z(BOOST_PP_SUB(BSL_NODE_MAX, N), BSL_PRINT, unused_type) \
+ > { \
+ BOOST_PP_REPEAT_ ## Z(N, BSL_NODE_DECL_MEMBER, _) \
+ \
+ BOOST_PP_REPEAT_FROM_TO_ ## Z(N, BSL_NODE_MAX, BSL_NODE_DECL_NONE, _) \
+ \
+ template<class ARC> \
+ void serialize (ARC& ar, const unsigned int) { \
+ ar BOOST_PP_REPEAT_ ## Z(N, BSL_NODE_SERIALIZE, _); \
+ } \
+ \
+ BSL_NODE_DECL_CTOR(N) \
+ \
+ node (BOOST_PP_ENUM_BINARY_PARAMS_Z(Z, N, T, p)): \
+ BOOST_PP_REPEAT_ ## Z(N, BSL_NODE_INIT_LIST, _) { } \
+ }; \
+ /**/
+
+// instantiation macros
+
+#define BSL_INST_BASE(Z, N, L) \
+ T0 T0 ## _ ## N(BOOST_PP_ENUM_ ## Z( \
+ BSL_NODE_MAX, BSL_PRINT, \
+ boost::archive::xml::random<BSL_TYPE> BOOST_PP_LPAREN() BOOST_PP_RPAREN() \
+ )); \
+ /**/
+
+#define BSL_INST_yNODES(Z, N, L) \
+ BOOST_PP_COMMA_IF(N) \
+ BOOST_PP_CAT(T, \
+ BOOST_PP_CAT(BOOST_PP_LIST_AT(L, 1), \
+ BOOST_PP_CAT(_, \
+ BOOST_PP_ADD(N, \
+ BOOST_PP_LIST_AT(L, 0) \
+ ) \
+ ) \
+ ) \
+ ) \
+ /**/
+
+#define BSL_INST_xNODES(Z, N, L) \
+ T ## L T ## L ## _ ## N( \
+ BOOST_PP_REPEAT_ ## Z( \
+ BSL_NODE_MAX, BSL_INST_yNODES, \
+ (BOOST_PP_MUL(N, BSL_NODE_MAX), (BOOST_PP_SUB(L, 1), BOOST_PP_NIL)) \
+ ) \
+ ); \
+ /**/
+
+#define BSL_INST_NODES(Z, N, L) \
+ BOOST_PP_REPEAT_ ## Z( \
+ BSL_EXP(BSL_NODE_MAX, BOOST_PP_SUB(BSL_DEPTH, N)), \
+ BSL_INST_xNODES, N \
+ ) \
+ /**/
+
+#define BSL_TYPEDEF_NODES(Z, N, L) \
+ typedef boost::archive::xml::node< \
+ BOOST_PP_ENUM_ ## Z( \
+ BSL_NODE_MAX, BSL_PRINT, BOOST_PP_CAT(T, BOOST_PP_SUB(N, 1)) \
+ ) \
+ > T ## N; \
+ /**/
+
+// main macro
+
+#define BSL_MAIN \
+ int main (void) { \
+ using namespace boost::archive; \
+ using namespace boost::archive::xml; \
+ \
+ typedef node<BOOST_PP_ENUM(BSL_NODE_MAX, BSL_PRINT, BSL_TYPE)> T0; \
+ \
+ BOOST_PP_REPEAT_FROM_TO(1, BSL_DEPTH, BSL_TYPEDEF_NODES, _) \
+ \
+ typedef node<BOOST_PP_ENUM( \
+ BSL_NODE_MAX, BSL_PRINT, \
+ BOOST_PP_CAT(T, BOOST_PP_SUB(BSL_DEPTH, 1)) \
+ )> HEAD; \
+ \
+ result_set results; \
+ std::size_t rounds = BSL_ROUNDS; \
+ \
+ while (rounds --> 0) { \
+ BOOST_PP_REPEAT(BSL_EXP(BSL_NODE_MAX, BSL_DEPTH), BSL_INST_BASE, _) \
+ \
+ BOOST_PP_REPEAT_FROM_TO(1, BSL_DEPTH, BSL_INST_NODES, _) \
+ \
+ HEAD h(BOOST_PP_ENUM_PARAMS( \
+ BSL_NODE_MAX, \
+ BOOST_PP_CAT(T, BOOST_PP_CAT(BOOST_PP_SUB(BSL_DEPTH, 1), _)) \
+ )); \
+ \
+ std::string fn = save_archive(h); \
+ \
+ std::pair<double, HEAD> r = restore_archive<HEAD>(fn); \
+ \
+ std::cout << "round " \
+ << ((BSL_ROUNDS - 1) - rounds) \
+ << " -> " << fn << "\n"; \
+ \
+ BOOST_PP_IF(BSL_SAVE_TMPFILE, \
+ BOOST_PP_EMPTY(), \
+ std::remove(fn.c_str()); \
+ ) \
+ \
+ results.entries.push_back(entry( \
+ BOOST_PP_STRINGIZE(BSL_TYPE), \
+ BSL_EXP(BSL_NODE_MAX, BSL_DEPTH), r.first \
+ )); \
+ } \
+ \
+ std::fstream fs(BSL_RESULTS_FILE, std::fstream::in); \
+ \
+ if (fs.good()) { \
+ xml_iarchive ia(fs); \
+ ia >> BOOST_SERIALIZATION_NVP(results); \
+ fs.close(); \
+ } \
+ \
+ fs.open(BSL_RESULTS_FILE, std::fstream::out | std::fstream::trunc); \
+ xml_oarchive oa(fs); \
+ oa << BOOST_SERIALIZATION_NVP(results); \
+ \
+ fs.close(); \
+ } \
+ /**/
+
+#endif // BOOST_SERIALIZATION_XML_PERFORMANCE_MACRO_HPP
diff --git a/src/boost/libs/serialization/performance/xml/node.hpp b/src/boost/libs/serialization/performance/xml/node.hpp
new file mode 100644
index 000000000..99f367597
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/node.hpp
@@ -0,0 +1,63 @@
+/* /libs/serialization/xml_performance/node.hpp ********************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#if !defined(BOOST_SERIALIZATION_XML_PERFORMANCE_NODE_HPP)
+#define BOOST_SERIALIZATION_XML_PERFORMANCE_NODE_HPP
+
+#if defined(_MSC_VER)
+ #pragma once
+#endif
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/utility.hpp>
+#include <boost/serialization/list.hpp>
+#include <boost/serialization/version.hpp>
+
+#include "macro.hpp"
+
+namespace boost {
+namespace archive {
+namespace xml {
+
+struct unused_type { };
+
+template<
+ typename T,
+ BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
+ BOOST_PP_SUB(BSL_NODE_MAX, 1), typename T, unused_type
+ )
+> struct node;
+
+BOOST_PP_REPEAT_FROM_TO(1, BSL_NODE_MAX, BSL_NODE_DECL, _)
+
+template<BOOST_PP_ENUM_PARAMS(BSL_NODE_MAX, typename T)>
+struct node {
+ BOOST_PP_REPEAT(BSL_NODE_MAX, BSL_NODE_DECL_MEMBER, _)
+
+ template<class ARC>
+ void serialize (ARC& ar, const unsigned int) {
+ ar
+ BOOST_PP_REPEAT(BSL_NODE_MAX, BSL_NODE_SERIALIZE, _)
+ ;
+ }
+
+ BSL_NODE_xDECL_CTOR()
+
+ node (BOOST_PP_ENUM_BINARY_PARAMS(BSL_NODE_MAX, T, p)):
+ BOOST_PP_REPEAT(BSL_NODE_MAX, BSL_NODE_INIT_LIST, _)
+ { }
+};
+
+} // xml
+} // archive
+} // boost
+
+#endif // BOOST_SERIALIZATION_XML_PERFORMANCE_NODE_HPP
+
diff --git a/src/boost/libs/serialization/performance/xml/string16_results.xml b/src/boost/libs/serialization/performance/xml/string16_results.xml
new file mode 100644
index 000000000..4113087b3
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string16_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>string</type>
+ <size>16</size>
+ <data>0.012478289</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072560000000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072030420000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071682020000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071778060000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072362460000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071869220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071878830000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071994860000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007244566</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071920810000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072397640000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071930430000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071888830000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071856820000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071798830000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071797230000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071992860000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072556420000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072098020000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007207321</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072045260000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071889830000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071904010000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071754830000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072048060000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072293660000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072043620000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072351230000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072088830000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071613630000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071968020000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072091630000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071625610000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071758860000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072168020000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072034020000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071784030000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072256860000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072109220000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071665210000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072158430000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072299660000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072064680000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071831220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071800030000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072292860000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071624430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071836820000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072084030000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071665620000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072477660000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072076020000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072072030000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072176030000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071833660000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071831220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071601210000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072026430000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071991260000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072078410000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072082020000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071928830000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071964460000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071826460000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071702020000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071683230000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071388030000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072348860000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071883620000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071758410000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071781630000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071760060000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072201620000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071673630000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071732830000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071706460000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072266420000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072288420000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072125630000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072115630000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071812000000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007202122</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007167362</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072384060000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072055260000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072029620000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071922830000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071877260000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072153660000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072294010000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071974830000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071855230000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071989230000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072465620000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071857230000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072022430000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072071660000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072090020000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072011620000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072017610000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071964060000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072420000000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071690410000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071992430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071818460000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071558030000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071756420000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072259230000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071872860000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072312860000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072287620000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071818030000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071858810000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071967260000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071914020000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071645210000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071816830000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071695260000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072521220000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072282020000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072272830000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072088460000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071882650000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007179922</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072016430000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071915230000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072753260000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072302020000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007209923</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007189122</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072191260000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072180020000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071952810000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071876430000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071936060000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072690820000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072184420000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072203630000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071952060000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071918810000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071836420000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072154830000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071770830000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072342460000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072119220000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007218683</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072250430000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072196860000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072206420000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072086820000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072429630000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072798060000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072191220000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072123220000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071857230000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071828060000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071980010000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072397220000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072392030000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007219446</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072401210000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072177220000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072424830000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071834030000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072027260000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071956820000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072182430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071804460000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072502860000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072154820000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072068410000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071990430000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072062060000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072053220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071906030000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071940830000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072020060000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072318010000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071934820000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072077230000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071936460000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071854800000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071955220000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071776030000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071916830000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072421260000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007211322</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071732020000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071748060000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071980060000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072117220000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072090420000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072236430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072546460000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071919610000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071797630000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007174723</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071845260000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071910020000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072310020000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072686430000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071835230000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072432400000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007220962</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071698030000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071864460000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071785260000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072036020000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071802010000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071924460000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072578860000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072124820000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072392830000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072244830000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071948460000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071743210000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.007205922</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071905630000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071846830000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072338420000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072037220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071850030000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071687630000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071699850000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071892820000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071742420000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071893660000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072221260000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071861620000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071887230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071893630000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071844860000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071784010000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072017230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072007630000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072040859999998874</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072226420000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072083620000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072103630000000009</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071846830000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072017620000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072684820000000006</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071865230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071598460000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072246680000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071868820000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071647230000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072765660000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071751260000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071459620000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072247630000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071712020000000007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072490860000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0071670820000000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>16</size>
+ <data>0.0072127220000000004</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/string16_test.cpp b/src/boost/libs/serialization/performance/xml/string16_test.cpp
new file mode 100644
index 000000000..ad42eada0
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string16_test.cpp
@@ -0,0 +1,24 @@
+/* /libs/serialization/xml_performance/string25_test.cpp ***********************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#include <string>
+
+typedef std::string string;
+
+#define BSL_TYPE string
+#define BSL_DEPTH 2
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/string256_results.xml b/src/boost/libs/serialization/performance/xml/string256_results.xml
new file mode 100644
index 000000000..09e7cda0f
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string256_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>string</type>
+ <size>256</size>
+ <data>0.24082843600000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.15478449400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.14540435600000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.14332035000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.14574748900000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.162143815</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.143199773</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.14591024800000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.148218763</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26581049599999995</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.15119754200000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25551917900000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30426230999999992</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23429972399999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.152736329</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16095108700000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.257406205</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21526160400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.310253734</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30385512799999992</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.277919476</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.15155350300000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.2247563669999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.311096769</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18083700100000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25365826600000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.146422422</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31615557699999997</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17431823499999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30721216100000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.274691929</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25493901099999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24813491900000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21902227400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.182308211</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.14080317399999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.27130100700000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.141822905</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.234210945</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18912357100000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23694535000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30294369100000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23246992800000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.15832027100000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26319235099999994</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.147053033</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30371506200000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.306945248</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34078868499999992</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16450026000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.353907258</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29755154299999997</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31086977300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.166196543</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29479566800000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29576432800000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18159834400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.19346430100000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.15868047100000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18001983300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30650560900000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16728085300000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28264082199999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23873842499999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.142975195</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.306175533</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28568148900000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.27912233200000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24095708900000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29895117200000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31077380700000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.22219352000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17159283699999994</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18810837300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31016322400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24117843300000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25069571300000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.35484542899999993</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25646144200000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23715143800000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17434978100000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.22196388700000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31783167000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.44040980399999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18985125600000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16910165699999991</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.22861478000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.32245771200000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18971205300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34642208599999991</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16614582600000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29925598899999994</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29850647600000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.172233461</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21215700399999993</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21100386000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24862557099999993</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16703737700000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25782752200000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26164129199999997</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.57651874200000008</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.36986256299999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21878367700000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17820567400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24184889000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24552513400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33087374899999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.344138096</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25427008900000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33677569699999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33239564400000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29225137200000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23854207300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21931018499999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33166821100000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33713559600000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.35802521499999995</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21386164400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.35509271800000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16676263400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23069279500000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33617436300000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.336949834</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34125201800000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33968717300000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34125770800000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.32101234700000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33470459899999994</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18704252400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28705466900000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29912810300000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17272062800000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20886833600000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33794845900000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.264968284</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26913011600000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25145834900000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33495682699999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26798035000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24842696600000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33503277800000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30332787699999997</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28991897599999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33133644100000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26798883300000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.291365229</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34162038900000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.170376363</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.170955098</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17217529200000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.2625844249999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25749087800000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.214833564</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20960021100000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20222120200000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28324146</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.303095801</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31430344799999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23109986400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20973660100000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26268180499999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34926366799999997</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.22327798399999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16531669100000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17791732599999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16743454199999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.190363907</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16638140000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31061568700000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29818055100000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16645938000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16849109600000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.19088629400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.233309764</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26293923899999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20451668599999995</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18545595400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33442231900000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.307385672</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23357416</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.287179342</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20827706400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.42202693800000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34912425000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.241049968</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21442900300000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34573371899999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31089394199999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26286895299999991</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28370315699999993</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17465668500000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.348761398</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.166838869</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26464613599999998</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.29856266600000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24585868199999994</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.27416464800000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.33280198300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23629951400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31782385300000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17180628100000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31635188200000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.291131843</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.19067002899999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23594924</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.32661452500000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.228596355</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25246959299999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.34272192000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.24635339900000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23385871399999991</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.168213903</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.27104451799999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28353989400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.27119438400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31294787200000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.263878267</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.26840745700000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.19721746600000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21171784800000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31691192800000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16284852300000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.206485163</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.17293324500000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30097051599999991</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18753556099999991</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.352919066</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23880742000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21931351400000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30510558200000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.306646945</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.19290866000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31661062500000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.15527985900000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21309966899999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25295672000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31927861000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28013629200000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.23187213000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.241622844</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.28193659500000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.25082649800000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.21928747300000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.213718137</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31063365000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16080174</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30793034600000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18621517200000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31502906899999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.20341706500000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16701237700000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.18218058300000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.31295746400000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.22039852299999996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.16650589500000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>256</size>
+ <data>0.30901178699999998</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/string256_test.cpp b/src/boost/libs/serialization/performance/xml/string256_test.cpp
new file mode 100644
index 000000000..b68c51233
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string256_test.cpp
@@ -0,0 +1,24 @@
+/* /libs/serialization/xml_performance/string25_test.cpp ***********************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#include <string>
+
+typedef std::string string;
+
+#define BSL_TYPE string
+#define BSL_DEPTH 4
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/string4_results.xml b/src/boost/libs/serialization/performance/xml/string4_results.xml
new file mode 100644
index 000000000..6381eb69f
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string4_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>string</type>
+ <size>4</size>
+ <data>0.0074473220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021171600000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021249610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020889610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020989610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021022810000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020897610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207932</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020796</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00206676</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021010830000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020941230000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020960029999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0022728430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021422430000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021111599999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020897210000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020777199999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207756</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020766400000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020919610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020888820000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020911620000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002101922</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207456</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020878400000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020859200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002087963</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021150030000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020946430000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002101323</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020741600000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207048</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020697200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020688</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020761210000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021957610000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002088922</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020608800000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207632</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020790000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020759200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002086563</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020913630000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021061630000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021424030000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020861200000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020792000000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020831199999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020748800000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020908810000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020839210000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020882019999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020667200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020760000000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020742</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020731200000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002098721</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002094963</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020910030000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021128430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020812000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020832800000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020760800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020872810000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002092801</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020863209999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002081641</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020940020000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020796400000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207428</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020808800000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002087401</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002102881</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020912830000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002095043</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020720000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021351600000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020774000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020770000000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020883210000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002102521</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020871209999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020829210000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020788</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0022383620000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021013220000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020742400000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020818799999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00208304</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020769600000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020958030000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002107083</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020970430000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002090083</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020642</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00206924</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020811600000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020840810000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020956010000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021117220000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002084762</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020757600000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020830800000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020730800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020841200000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021030430000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002085763</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0022383630000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021111630000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020823600000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020833200000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020757200000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020928410000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021011610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020833610000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020972820000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020638800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020747600000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020711200000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020848810000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021020430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002103443</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020883630000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020817600000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020656800000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020790000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020752000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002078641</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020934009999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020846810000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020884010000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00208224</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020734400000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020746000000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020917209999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002091561</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002099643</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020947230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020736000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021564399999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021086</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020864400000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020888009999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020872410000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021153610000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020850809999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020748800000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020727600000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00206544</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020935610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020951210000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020952810000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002109203</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020785199999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020814800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207932</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020870800000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021083600000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020882410000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020863209999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020938810000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020698400000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207412</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020688</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00208376</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020955610000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020943610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020893610000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020961230000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020729200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00206996</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021200800000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020985630000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021015600000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002084481</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020864810000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020774400000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020692800000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207136</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020879610000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002089441</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021005609999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021022409999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020743200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020792800000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020774000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020765600000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020830830000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020838829999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020982410000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020833610000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020726</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020782800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020529599999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021279210000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002089161</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020892010000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207544</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020828400000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020691200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207704</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020880429999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020918429999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021526430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002085323</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020922810000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020669200000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00215372</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207304</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002076601</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020949620000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002083321</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002073961</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020738000000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020674400000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00207888</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020933230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020924430000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021093230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020860030000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020732400000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020663999999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00206828</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020734</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020888009999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020840010000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021071610000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020698800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002078</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020668800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020828000000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021036430000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002105923</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002094963</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0022069630000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00209384</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020772</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020736800000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020742</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020923210000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002086081</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020877210000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020729200000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0021266810000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020851610000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.00208464</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020736400000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020819600000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020852399999999999</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020909230000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002100963</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020798030000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.002048865</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020709600000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>4</size>
+ <data>0.0020917600000000002</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/string4_test.cpp b/src/boost/libs/serialization/performance/xml/string4_test.cpp
new file mode 100644
index 000000000..a87c0bbca
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string4_test.cpp
@@ -0,0 +1,24 @@
+/* /libs/serialization/xml_performance/string5_test.cpp ************************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#include <string>
+
+typedef std::string string;
+
+#define BSL_TYPE string
+#define BSL_DEPTH 1
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml/string64_results.xml b/src/boost/libs/serialization/performance/xml/string64_results.xml
new file mode 100644
index 000000000..0c6dd61b2
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string64_results.xml
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="8">
+<results class_id="0" tracking_level="0" version="0">
+ <compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
+ <platform>linux</platform>
+ <entries class_id="1" tracking_level="0" version="0">
+ <count>256</count>
+ <item_version>0</item_version>
+ <item class_id="2" tracking_level="0" version="0">
+ <type>string</type>
+ <size>64</size>
+ <data>0.032849208000000005</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027500566000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027451327000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027459310000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027409781000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027785380999999942</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027489781000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027510701000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027549732</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027456249000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027514171</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02757565</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027492611</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027502767000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027517847000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027530807000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027565327000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027517444000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027542341000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027525541000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027602181000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027534101000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027491539000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027615651000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027528491000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027536010000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027506650000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027591449000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027568327</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027615967000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027532167000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027549087000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027636750000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.033203064000000004</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027562501000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027484821000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027475901</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027442895000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027424131000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027452170000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027489530000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027491611000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027540329000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027551367</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027500207000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027557087000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027513927000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027486718</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027924781000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027442101</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027467501000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027566061000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027441051000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027590011000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027544210000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02752425</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027618371000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027548727000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027522687000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027526447000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027556727000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027505950000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027557421000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027538700999999888</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027576901000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027507901000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027592498</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027575250000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027515571000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027482651</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027488170000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027652449000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027509127000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027598727000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027549807000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027606287</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027548792000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027512221000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027756460999999955</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027540181</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027546621</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027576093000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027483489000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027560690000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027573130000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027519331000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027563687000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027538127000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027482087000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027507527</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027609726000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027489240000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027490021000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027504140999999982</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027508021000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027476421000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027566891000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027467090000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027596731000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027603850000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027543370000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027497287000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027564527000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027462127000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027475286000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027454365000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027497301000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027490581</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027542981000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027498461000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027499541000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027512971000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027546411000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027550209000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027480250000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027508009000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027507007</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027574567000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027455566000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027504607</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027463672000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027678861000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027500861000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027479541000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027560741000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027520495000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027470051000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027435090000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027529330000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027526049</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027518048000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027476686</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027496167000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027677887000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027653447000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027444680000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027470621000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027427941000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027514701000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027530581000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02742785</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027486410000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027441931000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027472611000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027543169000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027448767000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027436287</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027571407000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027521287000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027472364000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027511181000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.028075300999999886</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027459541000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027472981</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027476179000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027502249000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027453571000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027541969000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027626410000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027644890000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027532927000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027655526000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027602647000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027518967000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027523947</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027511461000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027583540999999934</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027469901000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027504741000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027594818</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027498931000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02751605</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027519130000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027566811</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02766093</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027595167</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027505447000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027495406</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027481407000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027461713000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027512301000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027660660999999975</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027531381000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027476181000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027551693000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02747109</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027675011000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027477691000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027453569000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027546848000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027615687000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027535927000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027526766000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027491245000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027559138</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027477061000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027517181000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027551421000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027533621000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027495289000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027478930000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027494170000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027549171000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027530529000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027580927000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027560406000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027538047000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027684046</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027510467</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027602541000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027593101000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027597261000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027524541000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027597696000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027612531000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027652890000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027569450000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027542971000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027531930000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027596847000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027515367000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027395526000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027510847000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027532389000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027653221000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027480381000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027523341000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027545901000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027552058000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027556891</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.02759725</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027615211000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027532371000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027467209000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027508167</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027547567000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027625847000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027527047000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027561192000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027590181000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027565781000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027491221000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027549341000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027529575000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027578011000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027560330000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027543449000000001</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027562091</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027551447000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027531247000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027608247000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027568047000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027576647000000003</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027502877000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027854221000000002</data>
+ </item>
+ <item>
+ <type>string</type>
+ <size>64</size>
+ <data>0.027568421000000003</data>
+ </item>
+ </entries>
+</results>
diff --git a/src/boost/libs/serialization/performance/xml/string64_test.cpp b/src/boost/libs/serialization/performance/xml/string64_test.cpp
new file mode 100644
index 000000000..2934084f6
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml/string64_test.cpp
@@ -0,0 +1,24 @@
+/* /libs/serialization/xml_performance/string25_test.cpp ***********************
+
+(C) Copyright 2010 Bryce Lelbach
+
+Use, modification and distribution is subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+
+*******************************************************************************/
+
+#include <string>
+
+typedef std::string string;
+
+#define BSL_TYPE string
+#define BSL_DEPTH 3
+#define BSL_ROUNDS 256
+#define BSL_NODE_MAX 4
+#define BSL_SAVE_TMPFILE 0
+
+#include "harness.hpp"
+
+BSL_MAIN
+
diff --git a/src/boost/libs/serialization/performance/xml_archive.hpp b/src/boost/libs/serialization/performance/xml_archive.hpp
new file mode 100644
index 000000000..1e3bdc1ac
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml_archive.hpp
@@ -0,0 +1,16 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// xml_archive
+#include <boost/archive/xml_oarchive.hpp>
+typedef boost::archive::xml_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/xml_iarchive.hpp>
+typedef boost::archive::xml_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
+
+
diff --git a/src/boost/libs/serialization/performance/xml_warchive.hpp b/src/boost/libs/serialization/performance/xml_warchive.hpp
new file mode 100644
index 000000000..3483e2257
--- /dev/null
+++ b/src/boost/libs/serialization/performance/xml_warchive.hpp
@@ -0,0 +1,16 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// xml_warchive
+#include <boost/archive/xml_woarchive.hpp>
+typedef boost::archive::xml_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/xml_wiarchive.hpp>
+typedef boost::archive::xml_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
+
+