mirror of https://gitee.com/openkylin/nodejs.git
73 lines
2.3 KiB
C++
73 lines
2.3 KiB
C++
#include "benchmark_header.h"
|
|
|
|
/**
|
|
* Realistic URL examples collected on the actual web.
|
|
*/
|
|
std::string url_examples_default[] = {
|
|
"https://www.google.com/"
|
|
"webhp?hl=en&ictx=2&sa=X&ved=0ahUKEwil_"
|
|
"oSxzJj8AhVtEFkFHTHnCGQQPQgI",
|
|
"https://support.google.com/websearch/"
|
|
"?p=ws_results_help&hl=en-CA&fg=1",
|
|
"https://en.wikipedia.org/wiki/Dog#Roles_with_humans",
|
|
"https://www.tiktok.com/@aguyandagolden/video/7133277734310038830",
|
|
"https://business.twitter.com/en/help/troubleshooting/"
|
|
"how-twitter-ads-work.html?ref=web-twc-ao-gbl-adsinfo&utm_source=twc&utm_"
|
|
"medium=web&utm_campaign=ao&utm_content=adsinfo",
|
|
"https://images-na.ssl-images-amazon.com/images/I/"
|
|
"41Gc3C8UysL.css?AUIClients/AmazonGatewayAuiAssets",
|
|
"https://www.reddit.com/?after=t3_zvz1ze",
|
|
"https://www.reddit.com/login/?dest=https%3A%2F%2Fwww.reddit.com%2F",
|
|
"postgresql://other:9818274x1!!@localhost:5432/"
|
|
"otherdb?connect_timeout=10&application_name=myapp",
|
|
"http://192.168.1.1", // ipv4
|
|
"http://[2606:4700:4700::1111]", // ipv6
|
|
};
|
|
|
|
std::vector<std::string> url_examples;
|
|
|
|
double url_examples_bytes = []() -> double {
|
|
size_t bytes{0};
|
|
for (std::string& url_string : url_examples) {
|
|
bytes += url_string.size();
|
|
}
|
|
return double(bytes);
|
|
}();
|
|
|
|
#ifdef ADA_URL_FILE
|
|
const char* default_file = ADA_URL_FILE;
|
|
#else
|
|
const char* default_file = nullptr;
|
|
#endif
|
|
|
|
size_t init_data(const char* input = default_file) {
|
|
// compute the number of bytes.
|
|
auto compute = []() -> double {
|
|
size_t bytes{0};
|
|
for (std::string& url_string : url_examples) {
|
|
bytes += url_string.size();
|
|
}
|
|
return double(bytes);
|
|
};
|
|
if (input == nullptr) {
|
|
for (const std::string& s : url_examples_default) {
|
|
url_examples.emplace_back(s);
|
|
}
|
|
url_examples_bytes = compute();
|
|
return url_examples.size();
|
|
}
|
|
|
|
if (!file_exists(input)) {
|
|
std::cout << "File not found !" << input << std::endl;
|
|
for (const std::string& s : url_examples_default) {
|
|
url_examples.emplace_back(s);
|
|
}
|
|
} else {
|
|
std::cout << "Loading " << input << std::endl;
|
|
url_examples = split_string(read_file(input));
|
|
}
|
|
url_examples_bytes = compute();
|
|
return url_examples.size();
|
|
}
|
|
#include "benchmark_template.cpp"
|