summaryrefslogtreecommitdiffstats
path: root/bench
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2011-05-10 13:20:49 -0600
committerTavian Barnes <tavianator@gmail.com>2011-05-10 13:20:49 -0600
commitccc143b9ed802f5b0aa3069423227972de039ba5 (patch)
tree461fe5a7cd94a525f93a188aaa6c927a01be3a83 /bench
parent3901e4f0e87665dbf8d622295adf45ba94832927 (diff)
downloaddimension-ccc143b9ed802f5b0aa3069423227972de039ba5.tar.xz
Use arrays for PR-tree construction instead of lists.
Diffstat (limited to 'bench')
-rw-r--r--bench/libdimension/Makefile.am3
-rw-r--r--bench/libdimension/list.c136
2 files changed, 0 insertions, 139 deletions
diff --git a/bench/libdimension/Makefile.am b/bench/libdimension/Makefile.am
index 0f64e5b..353acb3 100644
--- a/bench/libdimension/Makefile.am
+++ b/bench/libdimension/Makefile.am
@@ -20,7 +20,6 @@
INCLUDES = -I$(top_srcdir)/libdimension
EXTRA_PROGRAMS = bench-array \
- bench-list \
bench-geometry \
bench-polynomial \
bench-prtree
@@ -29,14 +28,12 @@ AM_CFLAGS = $(libsandglass_CFLAGS) -fno-inline
AM_LDFLAGS = $(libsandglass_LIBS) $(top_builddir)/libdimension/libdimension.la
bench_array_SOURCES = array.c
-bench_list_SOURCES = list.c
bench_geometry_SOURCES = geometry.c
bench_polynomial_SOURCES = polynomial.c
bench_prtree_SOURCES = prtree.c
bench: $(EXTRA_PROGRAMS)
./bench-array
- ./bench-list
./bench-geometry
./bench-polynomial
./bench-prtree
diff --git a/bench/libdimension/list.c b/bench/libdimension/list.c
deleted file mode 100644
index e00b510..0000000
--- a/bench/libdimension/list.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*************************************************************************
- * Copyright (C) 2009-2011 Tavian Barnes <tavianator@tavianator.com> *
- * *
- * This file is part of The Dimension Benchmark Suite. *
- * *
- * The Dimension Benchmark Suite is free software; you can redistribute *
- * it and/or modify it under the terms of the GNU General Public License *
- * as published by the Free Software Foundation; either version 3 of the *
- * License, or (at your option) any later version. *
- * *
- * The Dimension Benchmark Suite is distributed in the hope that it will *
- * be useful, but WITHOUT ANY WARRANTY; without even the implied *
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See *
- * the GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- *************************************************************************/
-
-#include "dimension.h"
-#include <sandglass.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <stdint.h>
-
-static bool
-dmnsn_comparator(const dmnsn_list_iterator *i, const dmnsn_list_iterator *j)
-{
- uint32_t *a, *b;
- a = dmnsn_list_at(i);
- b = dmnsn_list_at(j);
- return *a < *b;
-}
-
-int
-main(void)
-{
- const size_t count = 32;
- uint32_t object = 1;
-
- sandglass_t sandglass;
- if (sandglass_init_monotonic(&sandglass, SANDGLASS_CPUTIME) != 0) {
- perror("sandglass_create()");
- return EXIT_FAILURE;
- }
-
- /* Benchmark allocation and deallocation */
- dmnsn_list *list;
- sandglass_bench_fine(&sandglass, {
- list = dmnsn_new_list(sizeof(object));
- dmnsn_delete_list(list);
- });
- printf("dmnsn_new_list() + dmnsn_delete_list(): %ld\n", sandglass.grains);
-
- /* Create our test list */
- list = dmnsn_new_list(sizeof(object));
-
- /* dmnsn_list_push() */
-
- printf("dmnsn_list_push():");
-
- for (size_t i = 0; i < count; ++i) {
- sandglass_bench_noprecache(&sandglass, dmnsn_list_push(list, &object));
- ++object;
- printf(" %ld", sandglass.grains);
- }
- printf("\n");
-
- /* dmnsn_list_first() */
- dmnsn_list_iterator *ii;
- sandglass_bench_fine(&sandglass, ii = dmnsn_list_first(list));
- printf("dmnsn_list_first(): %ld\n", sandglass.grains);
-
- /* dmnsn_list_last() */
- sandglass_bench_fine(&sandglass, ii = dmnsn_list_last(list));
- printf("dmnsn_list_last(): %ld\n", sandglass.grains);
-
- /* dmnsn_list_get() */
- sandglass_bench_fine(&sandglass, dmnsn_list_get(ii, &object));
- printf("dmnsn_list_get(): %ld\n", sandglass.grains);
-
- /* dmnsn_list_set() */
- sandglass_bench_fine(&sandglass, dmnsn_list_set(ii, &object));
- printf("dmnsn_list_set(): %ld\n", sandglass.grains);
-
- /* dmnsn_list_size() */
- size_t size;
- sandglass_bench_fine(&sandglass, size = dmnsn_list_size(list));
- printf("dmnsn_list_size() = %zu: %ld\n", size, sandglass.grains);
-
- /* dmnsn_list_insert() */
-
- printf("dmnsn_list_insert():");
-
- for (size_t i = 0; i < count; ++i) {
- sandglass_bench_noprecache(&sandglass,
- dmnsn_list_insert(list, ii, &object));
- printf(" %ld", sandglass.grains);
- }
- printf("\n");
-
- /* dmnsn_list_split() */
- dmnsn_list *split;
- sandglass_bench_noprecache(&sandglass, split = dmnsn_list_split(list));
- printf("dmnsn_list_split(): %ld\n", sandglass.grains);
-
- /* dmnsn_list_sort() */
- sandglass_bench(&sandglass, dmnsn_list_sort(list, dmnsn_comparator));
- printf("dmnsn_list_sort(): %ld\n", sandglass.grains);
-
- /* dmnsn_list_remove() */
-
- printf("dmnsn_list_remove():");
-
- for (size_t i = 0; i < count; ++i) {
- ii = dmnsn_list_last(split);
- sandglass_bench_noprecache(&sandglass,
- dmnsn_list_remove(split, ii));
- printf(" %ld", sandglass.grains);
- }
- printf("\n");
-
- /* dmnsn_list_pop() */
-
- printf("dmnsn_list_pop():");
-
- for (size_t i = 0; i < count; ++i) {
- sandglass_bench_noprecache(&sandglass, dmnsn_list_pop(list, &object));
- printf(" %ld", sandglass.grains);
- }
- printf("\n");
-
- dmnsn_delete_list(split);
- dmnsn_delete_list(list);
- return EXIT_SUCCESS;
-}