From 612e7f32269840e28abb1d85ec03c8c32d79a644 Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 8 Dec 2015 23:19:05 +0000 Subject: [PATCH] .benchmarks git-svn-id: svn://ultimatepp.org/upp/trunk@9275 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- benchmarks/Vector/Vector.cpp | 58 ++++++++++++++++++++++++++++++++++++ benchmarks/Vector/Vector.upp | 9 ++++++ benchmarks/Vector/init | 4 +++ 3 files changed, 71 insertions(+) create mode 100644 benchmarks/Vector/Vector.cpp create mode 100644 benchmarks/Vector/Vector.upp create mode 100644 benchmarks/Vector/init diff --git a/benchmarks/Vector/Vector.cpp b/benchmarks/Vector/Vector.cpp new file mode 100644 index 000000000..d76784aa3 --- /dev/null +++ b/benchmarks/Vector/Vector.cpp @@ -0,0 +1,58 @@ +#include + +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + Buffer data(2000); + Buffer sdata(2000); + + for(int i = 0; i < 2000; i++) { + data[i] = AsString(i); + sdata[i] = data[i].ToStd(); + } + + for(int j = 0; j < 10000; j++) { + { + RTIMING("vector::push_back"); + std::vector v; + for(int i = 0; i < 2000; i++) + v.push_back(sdata[i]); + } + { + RTIMING("vector::push_back"); + std::vector v; + for(int i = 0; i < 2000; i++) + v.push_back(data[i]); + } + { + RTIMING("Vector::Add"); + Vector v; + for(int i = 0; i < 2000; i++) + v.Add(data[i]); + } + } + + for(int j = 0; j < 100; j++) { + { + RTIMING("vector::insert"); + std::vector v; + for(int i = 0; i < 2000; i++) + v.insert(v.begin(), sdata[i]); + } + { + RTIMING("vector::insert"); + std::vector v; + for(int i = 0; i < 2000; i++) + v.insert(v.begin(), sdata[i]); + } + { + RTIMING("Vector::Insert"); + Vector v; + for(int i = 0; i < 2000; i++) + v.Insert(0, data[i]); + } + } +} diff --git a/benchmarks/Vector/Vector.upp b/benchmarks/Vector/Vector.upp new file mode 100644 index 000000000..c64ea2336 --- /dev/null +++ b/benchmarks/Vector/Vector.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + Vector.cpp optimize_speed; + +mainconfig + "" = ""; + diff --git a/benchmarks/Vector/init b/benchmarks/Vector/init new file mode 100644 index 000000000..afdc93a8d --- /dev/null +++ b/benchmarks/Vector/init @@ -0,0 +1,4 @@ +#ifndef _Vector_icpp_init_stub +#define _Vector_icpp_init_stub +#include "Core/init" +#endif