JPEGの読み書き
@IT会議室ネタから。JPEGファイルを読み込んでサムネイルを作るという話で、.NETのJPEGの読み込みが遅い気がしたのでMonoで実験してみました。対象は30ファイルのJPEG画像(10MB程度)。
using System; using System.IO; using System.Drawing; using System.Drawing.Imaging; public class Program { public static void Main () { string path = Environment.GetFolderPath ( Environment.SpecialFolder.MyPictures); string[] files = Directory.GetFiles (path, "*.jpg"); DateTime t = DateTime.Now; foreach (string s in files) { using (Image img = Image.FromFile (s)) { img.Save ( Path.Combine ( Path.GetDirectoryName (s), "_" + Path.GetFileNameWithoutExtension (s)) + ".jpg", ImageFormat.Jpeg); Console.WriteLine (s); } } Console.WriteLine (DateTime.Now - t); } } /* [Read] .NET : 3.5s Mono : 0.17s [Read & Write: .NET : 6.0s Mono : 2.6s */
読み込みが速すぎるのは謎ですが、書き込みも速いのでJPEGに関してはMonoのライブラリが高速なようです。(というか.NETが遅い?)