Skip to content

Commit f47c86d

Browse files
authored
Merge pull request #55 from JuliaConstraints/dev
New release
2 parents 9ad4733 + b7592e9 commit f47c86d

File tree

7 files changed

+60
-8
lines changed

7 files changed

+60
-8
lines changed

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/" # Location of package manifests
6+
schedule:
7+
interval: "weekly"

.github/workflows/CI.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ jobs:
5050
fail-fast: false
5151
matrix:
5252
version:
53-
- "1.9" # Minimal version of Julia for PerfChecker.jl
53+
- "lts" # Minimal version of Julia for PerfChecker.jl
5454
- "1" # automatically expands to the latest stable 1.x release of Julia
55-
- nightly
55+
- "pre" # automatically expands to the latest pre-release of Julia"
5656
os:
5757
- ubuntu-latest
5858
arch:
@@ -71,7 +71,7 @@ jobs:
7171
version: 1
7272
steps:
7373
- uses: actions/checkout@v4
74-
- uses: julia-actions/setup-julia@v1
74+
- uses: julia-actions/setup-julia@v2
7575
with:
7676
version: ${{ matrix.version }}
7777
arch: ${{ matrix.arch }}

Project.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "PerfChecker"
22
uuid = "6309bf6b-a531-4b08-891e-8ee981e5c424"
33
authors = ["Azzaare <jf@baffier.fr>"]
4-
version = "0.2.1"
4+
version = "0.2.2"
55

66
[deps]
77
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
@@ -29,21 +29,23 @@ MakieExt = "Makie"
2929
BenchmarkTools = "1"
3030
CSV = "0.10"
3131
Chairmarks = "1"
32-
CoverageTools = "1.3.1"
32+
CoverageTools = "1"
3333
CpuId = "0.3"
34+
Intervals = "1"
3435
JSON = "0.21"
3536
Makie = "0.21"
3637
Malt = "1"
3738
TOML = "1"
3839
TypedTables = "1"
39-
julia = "1.9"
40+
julia = "1.10"
4041

4142
[extras]
4243
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
4344
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
4445
Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de"
46+
Intervals = "d8418881-c3e1-53bb-8760-2df7ec849ed5"
4547
PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b"
4648
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
4749

4850
[targets]
49-
test = ["Aqua", "BenchmarkTools", "Chairmarks", "PatternFolds", "Test"]
51+
test = ["Aqua", "BenchmarkTools", "Chairmarks", "Intervals", "PatternFolds", "Test"]

src/check.jl

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,17 @@ function check_function(x::Symbol, d::Dict, block1, block2)
145145
return results
146146
end
147147

148+
"""
149+
General usage:
150+
```julia
151+
@check :name_of_backend config_dictionary begin
152+
# the prelimnary code
153+
end begin
154+
# the actual code you want to do perf testing for
155+
end
156+
```
157+
Outputs a `CheckerResult` which can be used with other functions.
158+
"""
148159
macro check(x, d, block1, block2)
149160
block1, block2 = Expr(:quote, block1), Expr(:quote, block2)
150161
quote
@@ -158,12 +169,34 @@ function perf_table end
158169

159170
function perf_plot end
160171

172+
"""
173+
General Usage:
174+
Takes a table generated via the check macro as input, and creates a pie plot.
175+
"""
161176
function table_to_pie end
162177

178+
"""
179+
General Usage:
180+
Takes the output of a check macro as input, and creates a scatterlines plot.
181+
"""
163182
function checkres_to_scatterlines end
164183

184+
"""
185+
General Usage:
186+
Takes the output of a check macro as input, and creates a pie plot. Uses `table_to_pie` internally.
187+
"""
165188
function checkres_to_pie end
166189

167190
function saveplot end
168191

192+
"""
193+
General Usage:
194+
Takes the output of a check macro, and creates a boxplot.
195+
"""
169196
function checkres_to_boxplots end
197+
198+
"""
199+
General Usage:
200+
Returns a table from the output of the results of respective backends
201+
"""
202+
function to_table end

src/checker_results.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ function Base.show(io::IO, v::PerfChecker.CheckerResult)
2525
println(io, Base.display(v.pkgs))
2626
end
2727

28+
"""
29+
Usage:
30+
(Assuming you ran the 'Basic Example')
31+
```
32+
julia> find_by_tags([:example, :nice, :great], res)
33+
```
34+
"""
2835
function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true)
2936
findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags tags)), results)
3037
end

test/Aqua.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# TODO: Fix the broken tests and remove the `broken = true` flag
66
Aqua.test_all(
77
PerfChecker;
8-
ambiguities = (broken = true,),
8+
ambiguities = (broken = false,),
99
deps_compat = false,
1010
piracies = (broken = false,)
1111
)

test/pattern_folds.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
x = @check :alloc d begin
77
using PatternFolds
8+
using Intervals
89
end begin
910
itv = Interval{Open, Closed}(0.0, 1.0)
1011
i = IntervalsFold(itv, 2.0, 1000)
@@ -36,6 +37,7 @@
3637

3738
x2 = @check :benchmark d2 begin
3839
using PatternFolds
40+
using Intervals
3941
end begin
4042
# Intervals
4143
itv = Interval{Open, Closed}(0.0, 1.0)
@@ -70,6 +72,7 @@
7072

7173
x3 = @check :chairmark d3 begin
7274
using PatternFolds
75+
using Intervals
7376
end begin
7477
# Intervals
7578
itv = Interval{Open, Closed}(0.0, 1.0)

0 commit comments

Comments
 (0)