pi_coder/examples/go-fibonacci
dschlueter c6f2f1f8e0 docs: Demo-Protokolle ausgefüllt (automatisierter Lauf Fr 29. Mai 2026)
python-calculator: PASS, 1:15 min, 1 Runde
c-linkedlist:      /quick_check 0:21 + /fix 0:50 + /patch 0:31
rust-wordcount:    PASS WITH CONCERNS, 1:40 min, 1 Runde + /version v0.2.0
go-fibonacci:      PASS + SHIP, ca. 3 min gesamt

Hinweise: --interactive nicht mit --print kombinierbar;
/version benötigt interaktiven UI-Dialog.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 20:48:25 +02:00
..
fib_bench_test.go chore: Examples finalisieren — Benchmark, .gitignore, TASK.md-Cleanup 2026-05-29 20:26:44 +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 docs: Demo-Protokolle ausgefüllt (automatisierter Lauf Fr 29. Mai 2026) 2026-05-29 20:48:25 +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