"repeat" -- a C program written by KimiAI
Thursday, 5 February 2026 09:56 amI asked KimiAI if it could write a C program to repeat a string n times. I am a crappy C programmer. (I need to fix that shortcoming.) This program is optimised for just this task and beats all the hacks from my previous post, by a big margin.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/mman.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
fprintf(stderr, "Usage: %s <string> <count>\n", argv[0]);
fprintf(stderr, "Example: %s \"hello world\" 5\n", argv[0]);
return 1;
}
const char *str = argv[1];
int n = atoi(argv[2]);
size_t len = strlen(str);
if (n <= 0) return 0;
// Use write() directly with a large buffer
size_t unit = len + 1;
size_t total = unit * n;
char *buf = malloc(total);
for (int i = 0; i < n; i++) {
memcpy(buf + i*unit, str, len);
buf[i*unit + len] = (i == n-1) ? '\n' : ' ';
}
// Single syscall, no stdio overhead
write(STDOUT_FILENO, buf, total);
free(buf);
return 0;
}And compile with optimisations:gcc -O3 -o repeat repeat.c
no subject
Date: 2026-02-13 10:20 am (UTC)I always wanted to make a text adventure. The problem is, of course, that you have to write about ten times as much as would be needed in an ordinary short story -- most of it will never get read. Though I'm kinda used to that. Nobody reads most of my stories anyway. :)
Microsoft managed to mess up Notepad??? OMG!