Skip to content

Commit

Permalink
See if we can get raw benchmark data into docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Quafadas committed Sep 23, 2024
1 parent 55d99c1 commit e3d86c6
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
17 changes: 16 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,22 @@ jobs:
with:
fetch-depth: 0
fetch-tags: true
- run: ./mill site.publishDocs
ref: benchmark

- name: Aggregate benchmark results
run: ./aggregate.sh

- name: Switch to main branch
run: |
git fetch origin main
git checkout main
- name: Copy benchmark results into docs generation
run: mkdir site/docs/_assets/benchmarks && cp benchmark_history.json site/docs/_assets/benchmarks/benchmark_history.json

- name: Generate static site
run: ./mill site.publishDocs

- name: Setup Pages
uses: actions/configure-pages@v4
- uses: actions/upload-artifact@v3
Expand Down
14 changes: 14 additions & 0 deletions site/docs/_docs/gotcha.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Despite my best efforts, there are frictions associated with cross platform initiatives.

In javascript

```javascript
const arr = new Float64Array(2)
arr[10]
```

will result in `undefined`, and your program will continue onwards with essentially undefined future behaviuor.

This is materially different to the behaviour on the JVM and native arrays, which are going to throw `ArrayOutOfBounds` or some similar exception letting you know things have gone wrong. Whilst enabling this exception throwiung behaviour is _possible_ in scalaJS (use `Array[Double]`) , it comes with a performance impact.

It is an explicit goal of `vecxt` to be performant, and to introduce as few abstractions as possible. We make no effort to solve this problem in JS land.

0 comments on commit e3d86c6

Please sign in to comment.