Hacker News new | past | comments | ask | show | jobs | submit
But then why isn't Goose a library or framework within C++, or a macro in Rust or something else? Why does it need to be a language?

Also, to be transparent in your benchmarks you should compare against idiomatic safe code, and optimized code. It's trivial to throw your benchmark examples into an LLM and tell it to optimize them to parity with Goose. It's more trustworthy to show other languages can achieve the same performance, Goose isn't doing anything special there. What it is doing is doing the same with better safety guarantees, which I think is headline result not the speed itself.

Because you really can't do all the static checking and convenience like that with a library.

As for the benchmarks, that's exactly what I do: https://aardappel.github.io/goose/bench/results.html

If you mean the other benchmarks (LangArena), I don't control their design.

But it's not infeasible as a preprocessor or macro though, since you're outputting C anyway right? You could even output C++ or Rust.

> As for the benchmarks, that's exactly what I do

What I mean is the story of those benchmarks is incomplete, you're missing a column for optimized Rust. This is what I get on my M1 if I ask the LLM to write more performant (still safe) solutions to a couple benchmarks, I'm sure your LLM can do the same:

  | Benchmark | vs original Rust | vs optimized safe Rust | Memory vs original Rust | Memory vs optimized safe Rust |
  |---|---:|---:|---:|---:|
  | `sexp` (flagship workload) | 1.00× | 0.95× | 2.22× | 1.60× |
  | `records` | 1.52× | 0.54× | 4.77× | 2.58× |
  | `graph` | 1.24× | 0.75× | 1.00× | 1.00× |
I think for the Benchmarks Game entry specifically, for the expert solutions you should use submissions to the game for both C++ and Rust instead of LLM generated code. After all, those are legitimate expert-implemented solutions to the benchmark, so it's nice to not have to lean on an LLM there. That would also give you something to optimize towards.