summaryrefslogtreecommitdiff
path: root/simclist-1.5/perftest
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-08-03 19:22:36 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-08-03 19:22:36 +0200
commit853bbb3752a5fa2f58ef456ffb6e3a552e13cb11 (patch)
treece49a533f82a42a65fa6a4771a7b8fbfe33798cf /simclist-1.5/perftest
initial commit
Diffstat (limited to 'simclist-1.5/perftest')
-rw-r--r--simclist-1.5/perftest/._README-perftest.txtbin0 -> 229 bytes
-rw-r--r--simclist-1.5/perftest/._ext.cbin0 -> 229 bytes
-rw-r--r--simclist-1.5/perftest/._ins.cbin0 -> 229 bytes
-rw-r--r--simclist-1.5/perftest/._sort.cbin0 -> 229 bytes
-rw-r--r--simclist-1.5/perftest/README-perftest.txt34
-rw-r--r--simclist-1.5/perftest/ext.c31
-rw-r--r--simclist-1.5/perftest/ins.c17
-rw-r--r--simclist-1.5/perftest/sort.c24
8 files changed, 106 insertions, 0 deletions
diff --git a/simclist-1.5/perftest/._README-perftest.txt b/simclist-1.5/perftest/._README-perftest.txt
new file mode 100644
index 0000000..fd67f74
--- /dev/null
+++ b/simclist-1.5/perftest/._README-perftest.txt
Binary files differ
diff --git a/simclist-1.5/perftest/._ext.c b/simclist-1.5/perftest/._ext.c
new file mode 100644
index 0000000..70f73dd
--- /dev/null
+++ b/simclist-1.5/perftest/._ext.c
Binary files differ
diff --git a/simclist-1.5/perftest/._ins.c b/simclist-1.5/perftest/._ins.c
new file mode 100644
index 0000000..17ab7f1
--- /dev/null
+++ b/simclist-1.5/perftest/._ins.c
Binary files differ
diff --git a/simclist-1.5/perftest/._sort.c b/simclist-1.5/perftest/._sort.c
new file mode 100644
index 0000000..168e05d
--- /dev/null
+++ b/simclist-1.5/perftest/._sort.c
Binary files differ
diff --git a/simclist-1.5/perftest/README-perftest.txt b/simclist-1.5/perftest/README-perftest.txt
new file mode 100644
index 0000000..127e51a
--- /dev/null
+++ b/simclist-1.5/perftest/README-perftest.txt
@@ -0,0 +1,34 @@
+SimCList performance test cases
+
+===== ins.c
+insert 10 000 000 (ten million) elements into a list, with element autocopy
+disabled.
+Compile:
+ gcc -O2 -I.. -std=c99 -o ins ins.c ../simclist.c
+Use:
+ time ./ins
+
+
+===== ext.c
+insert 1 000 000 (one million) elements with element autocopy, then extracts 1
+000 elements at random position (from a Uniform(0, list_size) probability
+density function).
+Compile:
+ gcc -O2 -I.. -std=c99 -o ext ext.c ../simclist.c
+Use:
+ time ./ext
+
+
+===== sort.c
+insert 1 000 000 elements with autocopy, then sorting.
+
+Compile:
+ # for testing the default setup
+ gcc -O2 -I.. -std=c99 -o sort sort.c ../simclist.c
+ # for testing with threading enabled
+ gcc -DSIMCLIST_WITH_THREADS -O2 -I.. -std=c99 -o sort sort.c ../simclist.c
+Use:
+ # generate data to insert into the list
+ # e.g. for ((i = 0; i<1000000; i++)); do echo $RANDOM; done >randdata.txt
+ time ./sort < randdata.txt
+
diff --git a/simclist-1.5/perftest/ext.c b/simclist-1.5/perftest/ext.c
new file mode 100644
index 0000000..8288b84
--- /dev/null
+++ b/simclist-1.5/perftest/ext.c
@@ -0,0 +1,31 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <simclist.h>
+
+#define NELS 1000000
+
+size_t szelem(const void *el) {
+ return sizeof(int);
+}
+
+int main() {
+ list_t l;
+ int i;
+
+ srandom(time(NULL));
+
+ list_init(&l);
+ list_attributes_copy(&l, szelem, 1);
+
+ for (i = 0; i < NELS; i++) {
+ list_append(&l, &i);
+ }
+
+ for (i = 0; i < 1000; i++) {
+ list_get_at(&l, random()%NELS);
+ }
+
+ return 0;
+}
diff --git a/simclist-1.5/perftest/ins.c b/simclist-1.5/perftest/ins.c
new file mode 100644
index 0000000..e7d1c19
--- /dev/null
+++ b/simclist-1.5/perftest/ins.c
@@ -0,0 +1,17 @@
+
+#include <stdio.h>
+#include <simclist.h>
+
+#define NELS 10000000
+
+int main() {
+ list_t l;
+ int i;
+
+ list_init(&l);
+ for (i = 0; i < NELS; i++) {
+ list_append(&l, &i);
+ }
+
+ return 0;
+}
diff --git a/simclist-1.5/perftest/sort.c b/simclist-1.5/perftest/sort.c
new file mode 100644
index 0000000..171c8d7
--- /dev/null
+++ b/simclist-1.5/perftest/sort.c
@@ -0,0 +1,24 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <simclist.h>
+
+#define BUFLEN 20
+
+int main() {
+ list_t l;
+ unsigned int i;
+ char buf[BUFLEN];
+
+ list_init(&l);
+ list_attributes_copy(&l, list_meter_int32_t, 1);
+ list_attributes_comparator(&l, list_comparator_int32_t);
+
+ while (fgets(buf, BUFLEN, stdin) != NULL) {
+ i = atoi(buf);
+ list_append(&l, &i);
+ }
+
+ list_sort(&l, 1);
+
+ return 0;
+}