Skip to content

Conversation

@johnnychen94
Copy link
Member

The current benchmark script is broken, so I redesign it. Hopefully, we can catch a bunch of performance bottleneck with it, and decide where the future efforts should be put on.

A comprehensive benchmark on ImageFiltering requires more utils and benchmark items, but I'd like to get some early feedback on this.

I plan to make the benchmark script a little bit redundancy so that we can get more performance information about ImageFiltering. However, this requires quite a long-running time on the local machine (e.g., ~4mins in i7-6700K CPU @ 4.00GHz in the first commit)

TODO:

  • imfilter
    • algorithm specification
    • computational resource specification
    • kernel: separable or not
  • mapwindow
  • visualization of benchmark results
  • easy-to-use benchmarking pipeline script

Copy link
Member

@timholy timholy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for my delay in reviewing: I had a simultaneous grant deadline, a deadline for finishing my home reconstruction, and then had to move. I wish others had stepped in to review this!

This looks like a very nice improvement, only small suggestions and then let's merge!

using BenchmarkTools

include("mapwindow.jl")
const SUITE = BenchmarkGroup(["ImageFIltering"])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const SUITE = BenchmarkGroup(["ImageFIltering"])
const SUITE = BenchmarkGroup(["ImageFiltering"])

img_list_gray = [imresize(img_gray_256, ratio=ratio) for ratio in (0.5, 1.0, 2.0, 4.0)]
img_list_rgb = [imresize(img_rgb_256, ratio=ratio) for ratio in (0.5, 1.0, 2.0, 4.0)]

default_kernel = centered(ones((31, 31))./prod((31, 31)))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What led you to choose the sizes here? (Both for the kernel and the images in the lists.) If running time is a concern we could do everything with smaller images and/or kernels.

@johnnychen94
Copy link
Member Author

I completely forget about it. Close in favor of #158

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants