const bool testStringPerf()

in kernel/string-test.cpp [133:186]


const bool testStringPerf() {
    memset(charBuffer, 'A', 16384);
    charBuffer[16384] = '\0';

    const int count = 10000;
    {
        const lambda<const blambda(const size_t size)> addStrings = [](const size_t size) -> const blambda {
            const blambda l = [size]() -> const bool {
                const size_t sz = size / 4;
                const string x(charBuffer, sz);
                const string y(charBuffer, sz);
                assert(length(add(x, y)) == sz * 2);
                return true;
            };
            return l;
        };

        const blambda a16 = addStrings(16);
        cout << "string test " << time(a16, 5, count) << " ms" << endl;
        const blambda a32 =addStrings(32);
        cout << "string test " << time(a32, 5, count) << " ms" << endl;
        const blambda a256 =addStrings(256);
        cout << "string test " << time(a256, 5, count) << " ms" << endl;
        const blambda a1024 =addStrings(1024);
        cout << "string test " << time(a1024, 5, count) << " ms" << endl;
        const blambda a4096 =addStrings(4096);
        cout << "string test " << time(a4096, 5, count) << " ms" << endl;
    }
    {
        const lambda<const blambda(const size_t size)> addStdStrings = [](const size_t size) -> const blambda {
            const blambda l = [size]() -> const bool {
                const size_t sz = size / 4;
                const std::string x(charBuffer, sz);
                const std::string y(charBuffer, sz);
                assert(stdAdd(x, y).length() == (unsigned int)(sz * 2));
                return true;
            };
            return l;
        };

        const blambda a16 =addStdStrings(16);
        cout << "Std string test " << time(a16, 5, count) << " ms" << endl;
        const blambda a32 =addStdStrings(32);
        cout << "Std string test " << time(a32, 5, count) << " ms" << endl;
        const blambda a256 =addStdStrings(256);
        cout << "Std string test " << time(a256, 5, count) << " ms" << endl;
        const blambda a1024 =addStdStrings(1024);
        cout << "Std string test " << time(a1024, 5, count) << " ms" << endl;
        const blambda a4096 =addStdStrings(4096);
        cout << "Std string test " << time(a4096, 5, count) << " ms" << endl;
    }

    return true;
}