#include <chrono>
#include <sstream>
#include <iostream>
int main()
{
using namespace std;
using namespace chrono;
auto const loops_count{1000000};
auto const p1{high_resolution_clock::now()};
{
stringstream ss;
for(auto i{loops_count}; 0 != i; i--)
{
ss.str(string()); // clear
ss << 1;
}
}
auto const p2{high_resolution_clock::now()};
{
for(auto i{loops_count}; 0 != i; i--)
{
stringstream ss; // recreate
ss << 1;
}
}
auto const p3{high_resolution_clock::now()};
cout << duration_cast< milliseconds >(p2 - p1).count() << "ms "
<< duration_cast< milliseconds >(p3 - p2).count() << "ms"
<< endl;
return 0;
}
I2luY2x1ZGUgPGNocm9ubz4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmludCBtYWluKCkKewoJdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCXVzaW5nIG5hbWVzcGFjZSBjaHJvbm87CgoJYXV0byBjb25zdCBsb29wc19jb3VudHsxMDAwMDAwfTsKCWF1dG8gY29uc3QgcDF7aGlnaF9yZXNvbHV0aW9uX2Nsb2NrOjpub3coKX07Cgl7CgkJc3RyaW5nc3RyZWFtIHNzOwoJCWZvcihhdXRvIGl7bG9vcHNfY291bnR9OyAwICE9IGk7IGktLSkKCQl7CgkJCXNzLnN0cihzdHJpbmcoKSk7IC8vIGNsZWFyCgkJCXNzIDw8IDE7CgkJfQoJfQoJYXV0byBjb25zdCBwMntoaWdoX3Jlc29sdXRpb25fY2xvY2s6Om5vdygpfTsKCXsKCQlmb3IoYXV0byBpe2xvb3BzX2NvdW50fTsgMCAhPSBpOyBpLS0pCgkJewoJCQlzdHJpbmdzdHJlYW0gc3M7IC8vIHJlY3JlYXRlCgkJCXNzIDw8IDE7CgkJfQoJfQoJYXV0byBjb25zdCBwM3toaWdoX3Jlc29sdXRpb25fY2xvY2s6Om5vdygpfTsKCWNvdXQgPDwgZHVyYXRpb25fY2FzdDwgbWlsbGlzZWNvbmRzID4ocDIgLSBwMSkuY291bnQoKSA8PCAibXMgIgoJCTw8IGR1cmF0aW9uX2Nhc3Q8IG1pbGxpc2Vjb25kcyA+KHAzIC0gcDIpLmNvdW50KCkgPDwgIm1zIiAKCQk8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==