Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust layout of ReferenceUpdater #4398

Merged
merged 3 commits into from
Sep 30, 2024
Merged

Adjust layout of ReferenceUpdater #4398

merged 3 commits into from
Sep 30, 2024

Conversation

ffreyer
Copy link
Collaborator

@ffreyer ffreyer commented Sep 22, 2024

Description

This changes the layout of the page generated by ReferenceUpdater to be a table. The format is:

GLMakie CairoMakie WGLMakie
test 1 image image image
test 2 image image image

without having the column and row labels explicitly. If a refimg does not exist for a given backend, the cell is left blank. These change are meant to make it easier to compare backend to backend and also bring cross-backend failures closer together. (E.g. if something is changed in Makie requiring refimg X to be updated for all backends, the related failures are now grouped together.)

Refimgs now resize based on the table column width (up to 100% of their size). This is sort of a consequence of a layout, but I think it's also generally makes refimages easier to check.

If a refimg causes CI to fail (score > 0.05) the background becomes red, otherwise yellow (> 0.001) or light gray (else). This should make it easier to spot which test in a row is failing and it also differentiates the page/cell background from the figure background.

Sorting is now based on maximum(row_scores) to move all the worst scores to the top of the page.

Screenshot 2024-09-21 160722

Type of change

  • dev tools

@ffreyer ffreyer added the skip-changelog Skips changelog enforcer label Sep 22, 2024
@MakieBot
Copy link
Collaborator

MakieBot commented Sep 22, 2024

Compile Times benchmark

Note, that these numbers may fluctuate on the CI servers, so take them with a grain of salt. All benchmark results are based on the mean time and negative percent mean faster than the base branch. Note, that GLMakie + WGLMakie run on an emulated GPU, so the runtime benchmark is much slower. Results are from running:

using_time = @ctime using Backend
# Compile time
create_time = @ctime fig = scatter(1:4; color=1:4, colormap=:turbo, markersize=20, visible=true)
display_time = @ctime Makie.colorbuffer(display(fig))
# Runtime
create_time = @benchmark fig = scatter(1:4; color=1:4, colormap=:turbo, markersize=20, visible=true)
display_time = @benchmark Makie.colorbuffer(fig)
using create display create display
GLMakie 4.43s (4.35, 4.57) 0.08+- 106.15ms (104.14, 113.31) 3.23+- 472.35ms (464.98, 488.48) 8.10+- 9.41ms (9.24, 9.72) 0.15+- 26.08ms (25.70, 26.73) 0.44+-
master 4.37s (4.33, 4.41) 0.03+- 105.09ms (103.44, 107.84) 1.56+- 467.74ms (463.78, 473.19) 3.07+- 9.34ms (8.93, 9.51) 0.19+- 25.91ms (25.69, 26.12) 0.15+-
evaluation 0.99x invariant, 0.06s (1.01d, 0.10p, 0.05std) 0.99x invariant, 1.07ms (0.42d, 0.45p, 2.40std) 0.99x invariant, 4.61ms (0.75d, 0.20p, 5.59std) 0.99x invariant, 0.08ms (0.44d, 0.43p, 0.17std) 0.99x invariant, 0.17ms (0.51d, 0.37p, 0.30std)
CairoMakie 4.46s (4.40, 4.51) 0.04+- 121.62ms (117.16, 128.61) 3.66+- 186.74ms (181.57, 195.88) 5.51+- 10.52ms (9.85, 10.72) 0.31+- 1.20ms (1.19, 1.21) 0.01+-
master 4.49s (4.42, 4.53) 0.05+- 122.91ms (117.25, 129.81) 5.04+- 192.45ms (184.27, 201.35) 6.82+- 10.44ms (10.12, 10.87) 0.26+- 1.24ms (1.21, 1.26) 0.02+-
evaluation 1.01x invariant, -0.03s (-0.71d, 0.21p, 0.04std) 1.01x invariant, -1.3ms (-0.29d, 0.59p, 4.35std) 1.03x invariant, -5.71ms (-0.92d, 0.11p, 6.17std) 0.99x invariant, 0.08ms (0.28d, 0.60p, 0.28std) 1.03x faster ✓, -0.04ms (-2.46d, 0.00p, 0.01std)
WGLMakie 4.83s (4.70, 4.99) 0.09+- 111.38ms (105.86, 115.82) 3.68+- 9.31s (8.99, 9.67) 0.26+- 12.69ms (11.53, 17.87) 2.30+- 118.31ms (113.67, 123.28) 3.06+-
master 4.81s (4.73, 4.95) 0.09+- 111.67ms (106.19, 121.08) 5.43+- 9.71s (9.46, 10.12) 0.23+- 12.05ms (11.68, 12.97) 0.46+- 118.05ms (115.43, 119.43) 1.50+-
evaluation 1.00x invariant, 0.02s (0.21d, 0.70p, 0.09std) 1.00x invariant, -0.29ms (-0.06d, 0.91p, 4.55std) 1.04x faster ✓, -0.41s (-1.67d, 0.01p, 0.24std) 0.95x noisy🤷‍♀️, 0.64ms (0.38d, 0.50p, 1.38std) 1.00x invariant, 0.27ms (0.11d, 0.84p, 2.28std)

@ffreyer ffreyer merged commit 3e0a9b0 into master Sep 30, 2024
9 of 16 checks passed
@ffreyer ffreyer deleted the ff/ReferenceUpdater branch September 30, 2024 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-changelog Skips changelog enforcer
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

2 participants