miriam_e: from my drawing MoonGirl (Default)
miriam_e ([personal profile] miriam_e) wrote2026-02-05 09:56 am

"repeat" -- a C program written by KimiAI

I 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) 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