-
Notifications
You must be signed in to change notification settings - Fork 21
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
perf: adopt the optimized AVX algorithm for C2 box SE #105
Conversation
migrated from #90 Co-authored-by: Retornaz Thomas <[email protected]>
4e87582
to
ed26303
Compare
Benchmark resultJudge resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
Benchmark resultJudge resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
Benchmark resultJudge resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
Benchmark result against different backendsBox-shaped SE ResultsMATLAB R2022a
ImageMorphology
OpenCV (4.5.5)
SnippetsMATLAB img = imread("cameraman.tif");
img = imresize(img, [512, 512]);
f = @() g(img);
timeit(f)
function g(img)
for i = 1:1000
imdilate(img, strel('diamond', 1));
end
return
end ImageMorphology using ImageMorphology
using ImageTransformations
using ImageCore
using TestImages
using BenchmarkTools
# img = collect(rawview(N0f8.(imresize(testimage("cameraman"), (512, 512)))));
# img = float64.(imresize(testimage("cameraman"), (512, 512)))
img = Float64.(imresize(testimage("cameraman"), (512, 512)));
@btime erode($img, $(strel_box(img))) OpenCV (Python) import cv2
# from testimage("cameraman"; download_only=true)
file = "/Users/jc/.julia/artifacts/27a4c26bcdd47eb717bee089ec231a899cb8ef69/cameraman.tif"
img = cv2.resize(cv2.imread(file), (512, 512)).astype("float64")
se = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
%timeit cv2.erode(img, se) Build informationMATLABMATLAB Version: 9.12.0.1956245 (R2022a) Update 2
|
ed26303
to
f0d5e3a
Compare
Benchmark resultJudge resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
f0d5e3a
to
eb447a7
Compare
Benchmark resultJudge resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
eb447a7
to
08b557f
Compare
Benchmark resultJudge resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/ImageMorphology.jl/ImageMorphology.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
Similar to #102, this PR picks up the 2D box SE version implementation from #90
It seems that the last column is calculated wrongly in #90 so a36e61a is a fix on it.
I've also identified bug #104 during the development, this PR also fixes it.
closes #90
closes #104