-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstring_view_performance.cpp
More file actions
53 lines (38 loc) · 1.85 KB
/
string_view_performance.cpp
File metadata and controls
53 lines (38 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// string_view_performance.cpp : Este archivo contiene la función "main". La ejecución del programa comienza y termina ahí.
//
#include "pch.h"
using namespace std;
using namespace std::chrono;
string substring(const string &str) {
auto res = str.substr(4);
return res;
}
string_view substring_view(string_view str) {
str.remove_prefix(4);
return str;
}
string_view substring_view_const(const string_view str) {
return str;
}
template <typename in, typename out > void functor(in arg, out(*fun)(in)) {
auto start = high_resolution_clock::now();
for (auto i = 0; i <= 100000; i++)
auto res = (out)(*fun)(arg);
auto milli = duration_cast<microseconds>(high_resolution_clock::now() - start).count();
cout << "Time taken by function: " << milli << " microseconds \t " << milli / 1000 << " milli" << endl;
}
int main()
{
string str = "Hello World!\n";
functor<const string&,string>(str,substring);
functor<string_view, string_view>(str, substring_view);
functor<string_view, string_view>(str, substring_view_const);
}
// Ejecutar programa: Ctrl + F5 o menú Depurar > Iniciar sin depurar
// Depurar programa: F5 o menú Depurar > Iniciar depuración
// Sugerencias para primeros pasos: 1. Use la ventana del Explorador de soluciones para agregar y administrar archivos
// 2. Use la ventana de Team Explorer para conectar con el control de código fuente
// 3. Use la ventana de salida para ver la salida de compilación y otros mensajes
// 4. Use la ventana Lista de errores para ver los errores
// 5. Vaya a Proyecto > Agregar nuevo elemento para crear nuevos archivos de código, o a Proyecto > Agregar elemento existente para agregar archivos de código existentes al proyecto
// 6. En el futuro, para volver a abrir este proyecto, vaya a Archivo > Abrir > Proyecto y seleccione el archivo .sln