mirror of
https://github.com/TecharoHQ/anubis.git
synced 2026-04-26 10:02:42 +00:00
fix(wasm): use interpreter on aarch64 for now
Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
+13
-1
@@ -7,6 +7,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"math"
|
"math"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
@@ -45,7 +46,18 @@ func NewRunner(ctx context.Context, fname string, fin io.ReadCloser) (*Runner, e
|
|||||||
return nil, fmt.Errorf("wasm: can't read from fin: %w", err)
|
return nil, fmt.Errorf("wasm: can't read from fin: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
r := wazero.NewRuntime(ctx)
|
var cfg wazero.RuntimeConfig
|
||||||
|
|
||||||
|
switch runtime.GOARCH {
|
||||||
|
case "amd64":
|
||||||
|
cfg = wazero.NewRuntimeConfigCompiler()
|
||||||
|
default:
|
||||||
|
cfg = wazero.NewRuntimeConfigInterpreter()
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg = cfg.WithMemoryLimitPages(512)
|
||||||
|
|
||||||
|
r := wazero.NewRuntimeWithConfig(ctx, cfg)
|
||||||
|
|
||||||
_, err = r.NewHostModuleBuilder("anubis").
|
_, err = r.NewHostModuleBuilder("anubis").
|
||||||
NewFunctionBuilder().
|
NewFunctionBuilder().
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -58,6 +59,9 @@ func TestAlgos(t *testing.T) {
|
|||||||
|
|
||||||
for _, kind := range []string{"baseline", "simd128"} {
|
for _, kind := range []string{"baseline", "simd128"} {
|
||||||
for _, fname := range fnames {
|
for _, fname := range fnames {
|
||||||
|
if filepath.Ext(fname.Name()) != ".wasm" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
t.Run(kind+"/"+fname.Name(), func(t *testing.T) {
|
t.Run(kind+"/"+fname.Name(), func(t *testing.T) {
|
||||||
abiTest(t, kind, fname.Name(), 16)
|
abiTest(t, kind, fname.Name(), 16)
|
||||||
})
|
})
|
||||||
@@ -139,6 +143,10 @@ func BenchmarkValidate(b *testing.B) {
|
|||||||
difficulty = 16
|
difficulty = 16
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if filepath.Ext(fname) != ".wasm" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
b.Run(fname, func(b *testing.B) {
|
b.Run(fname, func(b *testing.B) {
|
||||||
fin, err := web.Static.Open("static/wasm/simd128/" + fname)
|
fin, err := web.Static.Open("static/wasm/simd128/" + fname)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user