Mercurial > repos > public > sbplib_julia
comparison README.md @ 2057:8a2a0d678d6f feature/lazy_tensors/pretty_printing
Merge default
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Tue, 10 Feb 2026 22:41:19 +0100 |
| parents | 654a2b7e6824 |
| children |
comparison
equal
deleted
inserted
replaced
| 1110:c0bff9f6e0fb | 2057:8a2a0d678d6f |
|---|---|
| 1 # Sbplib | 1 # Diffinitive |
| 2 | 2 |
| 3 ## Running tests | 3 ## Running tests |
| 4 To run all tests simply run | 4 To run all tests simply run |
| 5 ``` | 5 ``` |
| 6 (@v1.5) pkg> activate . | 6 (@v1.5) pkg> activate . |
| 7 (Sbplib) pkg> test | 7 (Diffinitive) pkg> test |
| 8 ``` | 8 ``` |
| 9 | 9 |
| 10 If you want to run tests from a specific file in `test/`, you can do | 10 If you want to run tests from a specific file in `test/`, you can do |
| 11 ``` | 11 ``` |
| 12 julia> using Pkg | 12 julia> using Pkg |
| 26 ``` | 26 ``` |
| 27 Pkg.test(test_args=["*/lazy_tensor_operations_test.jl", "Grids/*"]) | 27 Pkg.test(test_args=["*/lazy_tensor_operations_test.jl", "Grids/*"]) |
| 28 ``` | 28 ``` |
| 29 will run any file named `lazy_tensor_operations_test.jl` and all the files in the `Grids` folder. | 29 will run any file named `lazy_tensor_operations_test.jl` and all the files in the `Grids` folder. |
| 30 | 30 |
| 31 ## Running benchmarks | |
| 32 Benchmarks are defined in `benchmark/` and use the tools for benchmark suites | |
| 33 in BenchmarkTools.jl. The format is compatible with PkgBenchmark.jl which | |
| 34 helps with running the suite, comparing results and presenting the results in | |
| 35 a readable way. There are custom functions included for running the benchmarks | |
| 36 in this Mercurial repository. | |
| 37 | |
| 38 `benchmark/` contains a julia environment with the necessary packages for | |
| 39 working with the benchmarks. | |
| 40 | |
| 41 To run the benchmarks, either use `make` or run them manually from the REPL, as | |
| 42 explained further below. | |
| 43 | |
| 44 Using `make` there are four targets for benchmarks | |
| 45 ```shell | |
| 46 make benchmark # Runs the suite for the current working directory | |
| 47 make benchmarkrev REV=rev # Runs the suite at the specified revision | |
| 48 make benchmarkcmp TARGET=target BASELINE=baseline # Compares two revisions | |
| 49 make cleanbenchmark # Cleans up benchmark tunings and results | |
| 50 ``` | |
| 51 Here `rev`, `target` and `baseline` are any valid Mercurial revision | |
| 52 specifiers. | |
| 53 | |
| 54 Alternatively, the benchmarks can be run from the REPL. To do this, first | |
| 55 activate the environment in `benchmark/` then include the file | |
| 56 `benchmark_utils.jl`. The suite can then be run using the function `main` in | |
| 57 one of the following ways | |
| 58 | |
| 59 ```julia | |
| 60 main() # Runs the suite for the current working directory | |
| 61 main(rev="...") # Runs the suite at the specified revision | |
| 62 main(target="...", baseline="...") # Compares two revisions | |
| 63 ``` | |
| 64 | |
| 65 Again, `rev`, `target` and `baseline` are any valid Mercurial revision | |
| 66 specifiers. | |
| 67 | |
| 68 PkgBenchmark can also be used directly. | |
| 69 | |
| 70 ```julia | |
| 71 using PkgBenchmark | |
| 72 import Diffinitive | |
| 73 r = benchmarkpkg(Diffinitive) | |
| 74 | |
| 75 export_markdown(stdout, r) | |
| 76 ``` | |
| 31 | 77 |
| 32 ## Generating and using the documentation | 78 ## Generating and using the documentation |
| 33 Generating the documentation can be done using either `make` or through activating the `docs` environment and including the script `docs/make.jl` at the REPL. | 79 Generating the documentation can be done using either `make` or through activating the `docs` environment and including the script `docs/make.jl` at the REPL. |
| 34 | 80 |
| 35 Using `make` there are three targets | 81 Using `make` there are four targets for documentation |
| 36 ```shell | 82 ```shell |
| 37 make docs | 83 make docs # generates files suitable for webserver deployment, i.e with `prettyurls=true` |
| 38 make localdocs | 84 make localdocs # generates files suitable for local viewing in a web browser, i.e `prettyurls=false` |
| 39 make opendocs | 85 make opendocs # build and view documentation locally |
| 40 make help | 86 make cleandocs # cleans up generated files |
| 41 ``` | |
| 42 The first variant generates files suitable for webserver deployment, i.e with `prettyurls=true`. The second generates files sutible for local viewing in a web browser, i.e `prettyurls=false`. To view the documentation locally simply open `docs/build/index.html` in your web browser. The documentation can be automatically built and opened using | |
| 43 ```shell | |
| 44 make opendocs | |
| 45 ``` | 87 ``` |
| 46 | 88 |
| 47 When including the `docs/make.jl` script `prettyurls` is set to `false` by default. | 89 Alternatively, to view the documentation locally simply open `docs/build/index.html` in your web browser. When including the `docs/make.jl` script `prettyurls` is set to `false` by default. |
| 48 | 90 |
| 49 Including `docs/make.jl` from the REPL may be preferable when repeatadely building the documentation since this avoids compilation latency. | 91 Including `docs/make.jl` from the REPL may be preferable when repeatedly building the documentation since this avoids compilation latency. |
