Skip to content

Go

cgo over the C ABI hub, published as a standalone module with the prebuilt native libraries staged per platform.

bash
go get github.com/wickra-lib/wickra-benchmark-go
go
package main

import (
    "encoding/json"
    "fmt"

    wickra "github.com/wickra-lib/wickra-benchmark-go"
)

func main() {
    b := wickra.New()
    defer b.Close()

    cmd, _ := json.Marshal(map[string]any{"cmd": "run_case", "case": theCase, "data": candles})
    out, err := b.Command(string(cmd))
    if err != nil {
        panic(err)
    }
    fmt.Println(wickra.Version(), out)
}

The command surface

Every binding exposes the same four commands and returns the core's canonical JSON string verbatim. That is what makes byte equality the cross-language check.

cmdPayloadResponse
run_case{case, data}a CaseResultpassed, hash_match, hash, recomputed
run_suite{suite, datasets}a SuiteReport — the results sorted by id, plus the tally
list_cases{suite}{"ids": [...]}, sorted
version{"version": ..., "engine_version": ...}

A domain error — a malformed case, an unknown command — comes back in-band as {"ok":false,"error":...} rather than as an exception.

One committed example of every envelope lives in golden/commands/, with the exact response each must produce beside it in golden/expected/.

More