현재 ImageProcessorCore를 검토 중입니다. 뭔가 놓치고있는 것처럼 느껴지는 문제가 발생했습니다. 그의 website에서 개발자는 샘플 프로그램에서 측정 한 시간과 완전히 다른 성능을 가진 벤치 마크를 보여줍니다. 나는 단지 폭과 높이를 (지금은) 취득하는 2.3 MB (3853x2569) JPG 이미지를, 그래서이 작은 .NET 코어 콘솔 테스트 응용 프로그램 생성 :ImageProcessorCore : 이미지를 여는 데 11 초 이상 걸립니다. 무엇이 없습니까?
using ImageProcessorCore;
using System;
using System.IO;
namespace ImageProcessorCoreTest
{
public class Program
{
public static void Main(string[] args)
{
using (FileStream input = File.OpenRead(@"c:\test\a.jpg"))
{
DateTime start = DateTime.Now;
Image image = new Image(input);
int w = image.Width;
int h = image.Height;
double duration = (DateTime.Now.Subtract(start)).TotalMilliseconds;
Console.WriteLine("Image size is " + w.ToString() + "x" + h.ToString() + " Pixels (" + duration.ToString() + "ms)");
Console.ReadLine();
}
}
}
}
이 작업은보다 더 걸립니다 이미지를 읽고 크기를 얻는 데는 11 초 (위에서 언급 한 벤치 마크와 비교하여 100 배)가 필요합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
내가 프로 윈도우 10 버전 1.0.0을 사용하고 64
(BTW : 내 dev에 기계는 16G RAM과 삼성 프로 950의 NVMe 드라이브가있는 i7-5820K, 그래서 아마도 하드웨어입니다 병목이 될 수 없다, 나는 생각한다)
업데이트 1 :. 다시 컴파일 ImageProcessorCore 나는 다음 내 (자료) 샘플 프로그램에서 사용하는 릴리스 nuget 패키지를 만드는 것은 불행하게도 단지 아래로 약간 이상에 시간을 제공합니다 10 초.
업데이트 2 : 방금 테스트 이미지의 크기를 2000x1334 픽셀로 재조정했습니다. 이것은 현저하게 시간을 849 밀리 초로 줄였습니다. dev에 대한 벤치 마크에서 읽기, 크기 조정 및 다시 쓰는 데 주어진 56ms를 고려하면 여전히 이상합니다.
업데이트 3 : 이제 테스트를 위해 나와 공유 할 수있는 테스트 이미지를 사용합니다. 새 이미지는 11416x6380 픽셀 (11.5MB)이며 위의 코드에서 17 초를 초과합니다. 당신은 여기에서 다운로드 할 수 있습니다 : http://orig01.deviantart.net/92d3/f/2010/110/7/2/pla_sf_3_by_recon071.jpg
업데이트 4 : 나는 MyGet 저장소에서 패키지를 사용하면 최신 테스트 이미지에 대한 시간 (업데이트 3 참조) 2.4 초에 내려갑니다.
얼마나 큰 너의 시험 이미지 야? – zaitsman
나는 [this] (http://orig01.deviantart.net/92d3/f/2010/110/7/2/pla_sf_3_by_recon071.jpg) ~ 11.5 MB jpg 파일에서 코드를 시험해 보았습니다. [myget] (https://www.myget.org/feed/imageprocessor/package/nuget/ImageProcessorCore)에서 사용할 수있는 _ImageProcessorCore_ 버전 _1.0.0-alpha1058_을 사용했습니다. 내 컴퓨터는 _i5-6200U CPU @ 2입니다.30 GHz, 8 GB RAM, Travelstar Z5K1000 디스크 드라이브, Windows 10 Pro 64 bit_ 실행. 테스트 이미지 크기가 너보다 훨씬 크지 만 평균 5 초가 걸립니다. 테스트 이미지를 공유 할 수 있습니까? –
myget의 _ImageProcessorCore_ [패키지 기록] (https://www.myget.org/feed/imageprocessor/package/nuget/ImageProcessorCore)에 따르면 지난 버전은 _Tue, 2020 년 9 월 27 일 _에 게시되었습니다. 그러나 귀하의 버전은 _Sep 30 2016_에 게시됩니다. 다른 출처에서 수집 했습니까? 그것도 공유하는 것을 고려하십시오. –