lipsum-cpp 0.5.4
A basic library written in C++ for generating placeholder Lorem Ipsum text.
Loading...
Searching...
No Matches
ParserStressTest.cpp
#ifndef LIPSUM_BUILD_STATIC
# define LIPSUM_IMPLEMENTATION // only for header-only usage
#endif
#include <chrono>
#include <json-c/json.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <lipsum.hpp>
int main()
{
gen.change_setting("jsonLength", 10, 20);
std::string xml = gen.xml(500000);
std::string json = gen.json(6, lpsm::OBJECT);
LIBXML_TEST_VERSION
auto startJson = std::chrono::steady_clock::now();
json_object* obj = json_tokener_parse(json.c_str());
auto endJson = std::chrono::steady_clock::now();
auto startXml = std::chrono::steady_clock::now();
xmlDocPtr doc = xmlReadMemory(xml.c_str(),
xml.size(),
"noname.xml",
NULL,
XML_PARSE_HUGE);
auto endXml = std::chrono::steady_clock::now();
auto milliXml = std::chrono::duration_cast<std::chrono::milliseconds>(
endXml - startXml);
auto milliJson = std::chrono::duration_cast<std::chrono::milliseconds>(
endJson - startJson);
if (doc == NULL)
{
std::cerr << "Failed to parse XML\n";
return -1;
}
std::cout << "Took " << milliXml.count() << " ms to parse XML\n";
std::cout << "Took " << milliJson.count() << " ms to parse JSON\n";
xmlFreeDoc(doc);
return 0;
}
Main class of lipsum-cpp.
Definition generator.hpp:92
void change_setting(const std::string &setting, const ArgVec2 &value)
Change a setting.
Definition generatorcore.inl:131
std::string xml(int choices=30)
Generate an XML document.
Definition generatorformats.inl:222
std::string json(int maxDepth=3, bool isObject=true)
Generate a JSON object or array.
Definition generatorformats.inl:293
Main header of lipsum-cpp.