Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Old Slide Deck About Images

Avatar for Mike Danko Mike Danko
July 24, 2013
42

Old Slide Deck About Images

Avatar for Mike Danko

Mike Danko

July 24, 2013
Tweet

Transcript

  1. Who? • TWC Systems Engineer • Network/Systems/Video Integration. Mostly Video.

    • Puts pic on slide, even though he’s standing right there.
  2. Who? • Artisan/Grill Fairy/Beer Czar at Neo • Rails and

    Stuff • Puts pic on slide, even though he’s standing right there.
  3. Small Site Operator • Difference between free and not on

    Heroku • More time for requests • Less of a chance of hitting the magic 30 second mark
  4. Everyone Else • More efficient workers == Less $$$ •

    Faster response == More $$$ • Less time doing the mundane means more time for the interesting.
  5. Peer Pressure • A simple gem change can improve performance

    by 220% • Another 15 minutes of work can offload uploads completely • It’s easy, come on.
  6. When Not To... • You’re on jRuby • Your processing

    needs are complex • You think you’re doing it right
  7. People Uploading • Don't tie up Ruby time • Given

    Workers, go direct to S3 when you are using S3 • Use nginx’s upload module if that’s your bag
  8. Basics • Your IO will block somewhere, avoid the CPU

    • Decoupling IO from processing will do you wonders. • Use workers to your advantage
  9. If You Give A Mouse an Image... • ImageMagick •

    GraphicsMagick • ImageSorcery • ImageScience • OpenCV • For the brave... Intel IPP
  10. Backing Methods • Pure Ruby: ChunkyPNG • C: RMagick, ImageScience

    • Subexec: MiniMagick, QuickMagick • Hybrids: ChunkyPNG/OilyPNG
  11. Something Bothered Me • Went about profiling and benchmarking Ruby

    • Went about profiling and benchmarking GM/ IM • Why is something as simple as changing the size of a picture so complex?
  12. ruby-prof breakdown 0 20 40 60 80 Sorcery (IM) Sorcery

    (GM) Science Mini (IM) Mini (GM) 73 40 0 0 0 14 20 0 10 12 0 31 14 23 28 23 30 16 22 34 Fit Fill Pad Slice Gif
  13. Rules of Thumb • Use ImageScience whenever you can •

    Next default to subexec’d GM • Use multiple gems if you need to, or patch an existing one. • Avoid calling IM/GM more than once per run