pi_coder/examples/go-fibonacci
dschlueter f5d2a5d66e fix: go-fibonacci ./... → . und Memoization-Aufgabe auf Single-Threaded einschränken
./... schlägt bei Single-Package-Modulen ohne Unterverzeichnisse fehl.
Mutex-Hinweis verhindert Deadlock durch rekursive Lock-Acquisition.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 20:24:00 +02:00
..
go.mod feat: Demo-Examples (Python/Rust/Go/C) mit Protokoll-Templates und Restore-Skript 2026-05-29 19:06:36 +02:00
main.go feat: Demo-Examples (Python/Rust/Go/C) mit Protokoll-Templates und Restore-Skript 2026-05-29 19:06:36 +02:00
main_test.go feat: Demo-Examples (Python/Rust/Go/C) mit Protokoll-Templates und Restore-Skript 2026-05-29 19:06:36 +02:00
PROTOKOLL.md feat: Demo-Examples (Python/Rust/Go/C) mit Protokoll-Templates und Restore-Skript 2026-05-29 19:06:36 +02:00
README.md fix: go-fibonacci ./... → . und Memoization-Aufgabe auf Single-Threaded einschränken 2026-05-29 20:24:00 +02:00

Go Fibonacci

Naive rekursive Fibonacci-Implementierung — korrekt, aber exponentiell langsam. fib(45) dauert mehrere Sekunden; fib(50) läuft praktisch nicht durch.

Aktueller Stand

main.go        fib(n) — rekursiv, O(2^n)
main_test.go   TestFib mit 5 Tabellen-Tests (alle grün)

Demo 1: /optimize --interactive

/optimize "Ersetze die naive Rekursion durch einfache Memoization mit einer map[int]int.
           Kein Mutex, kein Goroutine-Overhead — Single-Threaded reicht.
           fib(50) soll in unter 1ms abgeschlossen sein.
           Bestehende Tests müssen weiterhin grün bleiben." \
          --test-cmd "go test ." --interactive

Nach dem ersten PASS hält pi-coder im interaktiven Checkpoint an. Hier kann ein Zusatzauftrag erteilt werden:

/continue "Gib zusätzlich die Berechnungszeit in Mikrosekunden aus."

Oder einfach bestätigen:

/continue

Demo 2: Abschluss mit /shipit

/shipit

Der Judge prüft nochmals explizit auf Produktionsreife und gibt SHIP oder NO-SHIP zurück.

Manueller Test

go test .
go run main.go