From 421b34e7cf4544b7058165f34f42fadaff54b14a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=5BQuy=20Anh=5D=20=C2=ABElliot=C2=BB=20Nguyen?= <23906-nguyenquy@users.noreply.gitlab.inf.ethz.ch> Date: Fri, 5 Jun 2026 11:03:43 +0200 Subject: [PATCH] Visual Correction --- 70.pptx | Bin 9360877 -> 9362559 bytes analysis/fig_speedup.svg | 459 ++++++++++++++++++++------------------- analysis/plots.py | 6 +- 3 files changed, 234 insertions(+), 231 deletions(-) diff --git a/70.pptx b/70.pptx index cc2e80c198757cb825345738bb380ac644f6862f..d5295b87704ef0b47f3d4dfee45a98658def973b 100644 GIT binary patch delta 23906 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 z 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 O_-9eT;oOTcNc|tvVx$KE delta 23197 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 I`4~w52flHKqyPW_ diff --git a/analysis/fig_speedup.svg b/analysis/fig_speedup.svg index 17a4747..7292749 100644 --- a/analysis/fig_speedup.svg +++ b/analysis/fig_speedup.svg @@ -6,7 +6,7 @@ - 2026-06-05T06:08:49.737108 + 2026-06-05T10:51:02.035313 image/svg+xml @@ -40,36 +40,47 @@ z - + - - + - - + + - + + + + + + + + + + + + + + + + + + + + @@ -100,20 +146,20 @@ z - - - + + + - + - + - + - + - + + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #e9e9e9; stroke-width: 0.8; stroke-linecap: square"/> - + - + - + - - - - - - + + + - + - + - + - + - - + + + - + - + - + - + - - - + + + - + - + - + - + - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + @@ -695,22 +702,22 @@ z - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #e9e9e9; stroke-width: 0.8; stroke-linecap: square"/> - + - - + - + @@ -736,17 +743,17 @@ z - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #e9e9e9; stroke-width: 0.8; stroke-linecap: square"/> - + - + - + @@ -755,17 +762,17 @@ L 633.535625 228.753071 - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #e9e9e9; stroke-width: 0.8; stroke-linecap: square"/> - + - + - + @@ -774,17 +781,17 @@ L 633.535625 166.832829 - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #e9e9e9; stroke-width: 0.8; stroke-linecap: square"/> - + - + - + @@ -794,17 +801,17 @@ L 633.535625 119.991975 - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #e9e9e9; stroke-width: 0.8; stroke-linecap: square"/> - + - + - + @@ -814,31 +821,31 @@ L 633.535625 73.15112 - + - + - + - + - + - + - + - + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #9e8f2f; stroke-width: 1.8; stroke-linecap: square"/> - - - - - - - - - + + + + + + + + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #cf2b2b; stroke-width: 1.8; stroke-linecap: square"/> - - - - - - - - - + + + + + + + + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke-dasharray: 6.66,2.88; stroke-dashoffset: 0; stroke: #9bbbe0; stroke-width: 1.8"/> - - - - - - - - - + + + + + + + + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #2f5d9e; stroke-width: 1.8; stroke-linecap: square"/> - - - - - - - - - + + + + + + + + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke-dasharray: 6.66,2.88; stroke-dashoffset: 0; stroke: #d05a82; stroke-width: 1.8"/> - - - - - - - - - + + + + + + + + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke: #a71d5b; stroke-width: 2.4; stroke-linecap: square"/> - - - - - - - - - + + + + + + + + - + +" clip-path="url(#pe2ff1b1af7)" style="fill: none; stroke-dasharray: 1.3,2.145; stroke-dashoffset: 0; stroke: #999999; stroke-width: 1.3"/> - + @@ -1275,7 +1282,7 @@ z - + @@ -2125,7 +2132,7 @@ z - + - + - + - + - + - + + diff --git a/analysis/plots.py b/analysis/plots.py index 395b211..5e6d729 100644 --- a/analysis/plots.py +++ b/analysis/plots.py @@ -448,11 +448,7 @@ ax.text(52, 1.03, "baseline (1x)", fontsize=9, color="#888") ax.set_xscale("log") ax.set_yscale("log") -xlim_log = np.log10(ax.get_xlim()) -num_ticks = 7 -linear_positions = np.linspace(xlim_log[0], xlim_log[1], num_ticks) -tick_positions = 10**linear_positions -ax.set_xticks(tick_positions) +ax.set_xticks([50, 100, 200, 500, 1000, 2000, 5000]) ax.set_xticklabels(["50", "100", "200", "500", "1k", "2k", "5k"], fontweight="bold") ax.set_yticks([1, 2, 5, 10, 20])