build: remove generated artifacts and unsafe scripts

This commit is contained in:
2026-08-12 16:23:45 +09:00
parent 368e6adcd4
commit c41a1b4227
11 changed files with 131 additions and 111510 deletions

View File

@@ -1,4 +1,7 @@
#define _POSIX_C_SOURCE 200809L
#include <errno.h>
#include <inttypes.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -13,7 +16,7 @@ struct Key {
};
static Key *keys;
static int nkeys;
static size_t nkeys;
static int fd;
static void
@@ -26,13 +29,19 @@ die(char *msg)
static void
addkey(int k, int mod)
{
static int cap;
static size_t cap;
Key *p;
if(nkeys >= cap){
if(cap > SIZE_MAX / 2 / sizeof(Key)){
fprintf(stderr, "too many keys\n");
exit(1);
}
cap = cap ? cap * 2 : 256;
keys = realloc(keys, cap * sizeof(Key));
if(!keys)
p = realloc(keys, cap * sizeof(Key));
if(!p)
die("realloc");
keys = p;
}
keys[nkeys].k = k;
keys[nkeys].mod = mod;
@@ -74,6 +83,28 @@ loadkeys(char *file)
}
}
fclose(f);
if(nkeys == 0){
fprintf(stderr, "%s: no keys\n", file);
exit(1);
}
}
static uint64_t
iterations(char *s)
{
uintmax_t n;
char *end;
if(*s == '\0' || *s == '-')
goto Bad;
errno = 0;
n = strtoumax(s, &end, 10);
if(errno != 0 || *end != '\0' || n == 0 || n > UINT64_MAX)
goto Bad;
return n;
Bad:
fprintf(stderr, "invalid iteration count: %s\n", s);
exit(1);
}
static void
@@ -115,31 +146,38 @@ now(void)
int
main(int argc, char **argv)
{
int i, j, niter;
size_t j;
uint64_t i, niter, total;
double t0, t1, dt;
if(argc < 2){
if(argc != 2 && argc != 3){
fprintf(stderr, "usage: bench file [niter]\n");
exit(1);
}
loadkeys(argv[1]);
niter = argc > 2 ? atoi(argv[2]) : 1000;
niter = argc == 3 ? iterations(argv[2]) : 1000;
if(nkeys > UINT64_MAX || niter > UINT64_MAX / nkeys){
fprintf(stderr, "iteration count overflows key total\n");
exit(1);
}
total = niter * nkeys;
dial();
t0 = now();
for(i = 0; i < niter; i++)
for(j = 0; j < nkeys; j++){
sendkey(keys[j].k, keys[j].mod);
if(readresp() < 0){
fprintf(stderr, "failed at iter %d key %d\n", i, j);
fprintf(stderr, "failed at iter %" PRIu64 " key %zu\n", i, j);
exit(1);
}
}
t1 = now();
dt = t1 - t0;
printf("%d iters x %d keys = %d keys\n", niter, nkeys, niter * nkeys);
printf("%" PRIu64 " iters x %zu keys = %" PRIu64 " keys\n",
niter, nkeys, total);
printf("%.3f ms total, %.3f us/key, %.3f us/iter\n",
dt * 1000, dt * 1e6 / (niter * nkeys), dt * 1e6 / niter);
dt * 1000, dt * 1e6 / total, dt * 1e6 / niter);
close(fd);
return 0;
}

Binary file not shown.

Binary file not shown.