From 0f2ed8ca3c8946e01e64e6fe98e977ac4bfbf513 Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 26 Dec 2017 22:13:30 +0000 Subject: [PATCH] .benchmarks git-svn-id: svn://ultimatepp.org/upp/trunk@11632 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- benchmarks/InVectorVsHeap/InVectorVsHeap.cpp | 54 ++++++++++++++++++++ benchmarks/InVectorVsHeap/InVectorVsHeap.upp | 9 ++++ 2 files changed, 63 insertions(+) create mode 100644 benchmarks/InVectorVsHeap/InVectorVsHeap.cpp create mode 100644 benchmarks/InVectorVsHeap/InVectorVsHeap.upp diff --git a/benchmarks/InVectorVsHeap/InVectorVsHeap.cpp b/benchmarks/InVectorVsHeap/InVectorVsHeap.cpp new file mode 100644 index 000000000..a4db4f4f5 --- /dev/null +++ b/benchmarks/InVectorVsHeap/InVectorVsHeap.cpp @@ -0,0 +1,54 @@ +#include + +#include + +using namespace Upp; + +#ifdef _DEBUG +#define M 1 +#define N 10 +#else +#define M 10000 +#define N 100 +#endif + +CONSOLE_APP_MAIN +{ + Vector data; + for(int j = 0; j < M; j++) { + for(int i = 0; i < N; i++) + data.Add(Random()); + { + RTIMING("std::priority_queue"); + std::priority_queue pq; + for(int i = 0; i < N; i++) + pq.push(data[i]); + while(pq.size()) { + DUMP(pq.top()); + pq.pop(); + } + } + LOG("----------------------"); + LOG("----------------------"); + { + RTIMING("SortedIndex"); + SortedIndex sv; + for(int i = 0; i < N; i++) + sv.FindAdd(data[i]); + while(sv.GetCount()) { + DUMP(sv.Top()); + sv.Drop(); + } + } + } +} + +/* +PriorityQueue pq; +pq.GetCount(); +pq.Trim(); +pq.Top(); +pq.TopKey(); +pq.Drop(); +pq.Pop(); +*/ diff --git a/benchmarks/InVectorVsHeap/InVectorVsHeap.upp b/benchmarks/InVectorVsHeap/InVectorVsHeap.upp new file mode 100644 index 000000000..02320bd49 --- /dev/null +++ b/benchmarks/InVectorVsHeap/InVectorVsHeap.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + InVectorVsHeap.cpp; + +mainconfig + "" = ""; +