mirror of
https://github.com/Bodigrim/tasty-bench.git
synced 2024-09-11 08:45:33 +03:00
More troubleshooting suggestions
This commit is contained in:
parent
050232ad9a
commit
8b9f5850d1
18
README.md
18
README.md
@ -361,6 +361,24 @@ look for another way to speed up generation of Fibonacci numbers.
|
||||
`Test.Tasty.Bench.defaultMain` and not `Test.Tasty.defaultMain`. Note that
|
||||
`localOption (NumThreads 1)` quashes the warning, but does not eliminate the cause.
|
||||
|
||||
* If benchmarks using GHC 9.4.4+ segfault on Windows, check that you
|
||||
are not using non-moving garbage collector `--nonmoving-gc`. This is likely caused
|
||||
by [GHC issue](https://gitlab.haskell.org/ghc/ghc/-/issues/23003).
|
||||
Previous releases of `tasty-bench` recommended enabling `--nonmoving-gc`
|
||||
to stabilise benchmarks, but it's discouraged now.
|
||||
|
||||
* If you see
|
||||
|
||||
```
|
||||
<stdout>: commitBuffer: invalid argument (cannot encode character '\177')
|
||||
```
|
||||
|
||||
it means that your locale does not support UTF-8. `tasty-bench` makes an effort
|
||||
to force locale to UTF-8, but sometimes, when benchmarks are a part of
|
||||
a larger application, it's [impossible](https://gitlab.haskell.org/ghc/ghc/-/issues/23606)
|
||||
to do so. In such case run `locale -a` to list available locales and set a UTF-8-capable
|
||||
one (e. g., `export LANG=C.UTF-8`) before starting benchmarks.
|
||||
|
||||
## Isolating interfering benchmarks
|
||||
|
||||
One difficulty of benchmarking in Haskell is that it is
|
||||
|
@ -31,6 +31,8 @@ sed -i '' 's/@--baseline FILE@/@--baseline@ @FILE@/g' README.haddock
|
||||
sed -i '' 's/@+RTS -T@/@+RTS@ @-T@/g' README.haddock
|
||||
sed -i '' 's/@+RTS -A32m@/@+RTS@ @-A32m@/g' README.haddock
|
||||
sed -i '' 's/@+RTS --nonmoving-gc@/@+RTS@ @--nonmoving-gc@/g' README.haddock
|
||||
sed -i '' 's/@locale -a/@locale@ @-a/g' README.haddock
|
||||
sed -i '' 's/@export LANG/@export@ @LANG/g' README.haddock
|
||||
|
||||
sed -i '' "s/@bench --benchmark-options/@bench@ @--benchmark-options/g" README.haddock
|
||||
sed -i '' "s/@bench --ba/@bench@ @--ba/g" README.haddock
|
||||
|
@ -329,6 +329,25 @@ another way to speed up generation of Fibonacci numbers.
|
||||
not @Test.Tasty.@'Test.Tasty.defaultMain'. Note that 'localOption' ('NumThreads' 1)
|
||||
quashes the warning, but does not eliminate the cause.
|
||||
|
||||
- If benchmarks using GHC 9.4.4+ segfault on Windows, check that you
|
||||
are not using non-moving garbage collector @--nonmoving-gc@. This is
|
||||
likely caused by
|
||||
<https://gitlab.haskell.org/ghc/ghc/-/issues/23003 GHC issue>.
|
||||
Previous releases of @tasty-bench@ recommended enabling
|
||||
@--nonmoving-gc@ to stabilise benchmarks, but it’s discouraged now.
|
||||
|
||||
- If you see
|
||||
|
||||
> <stdout>: commitBuffer: invalid argument (cannot encode character '\177')
|
||||
|
||||
it means that your locale does not support UTF-8. @tasty-bench@
|
||||
makes an effort to force locale to UTF-8, but sometimes, when
|
||||
benchmarks are a part of a larger application, it’s
|
||||
<https://gitlab.haskell.org/ghc/ghc/-/issues/23606 impossible> to do
|
||||
so. In such case run @locale@ @-a@ to list available locales and set a
|
||||
UTF-8-capable one (e. g., @export@ @LANG=C.UTF-8@) before starting
|
||||
benchmarks.
|
||||
|
||||
=== Isolating interfering benchmarks
|
||||
|
||||
One difficulty of benchmarking in Haskell is that it is hard to isolate
|
||||
|
Loading…
Reference in New Issue
Block a user