From ccc143b9ed802f5b0aa3069423227972de039ba5 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 10 May 2011 13:20:49 -0600 Subject: Use arrays for PR-tree construction instead of lists. --- bench/libdimension/Makefile.am | 3 - bench/libdimension/list.c | 136 ----------------------------------------- 2 files changed, 139 deletions(-) delete mode 100644 bench/libdimension/list.c (limited to 'bench') 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 * - * * - * 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 . * - *************************************************************************/ - -#include "dimension.h" -#include -#include -#include -#include - -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; -} -- cgit v1.2.3