Solved

How to reduce the processing time of a C# application that merges tif image files using VS2010 with .Net Framework 4.0 ?

Posted on 2016-09-12
6
47 Views
Last Modified: 2016-09-16
I am developing a C# application using VS2010 and .Net Framework 4.0

I have attached my C# code.

Basically I am reading a directory that has over 10,000 check images.
For each check, there are 2 check image files (front side of check and back side of check):   XXX represents the filename.  
XXX._Front.TIF
XXX._Rear.TIF

I have a function named "ProcessDirectory" that retrieves each check's file name and then calls a function titled "ProcessImage"
which merges the front check image file and back check image file into 1 check image file per check that shows the front check image on the top and the back check image on the bottom of the merged file.

This executable takes over 90 minutes to run. Can you think of a way to reduce the processing time by modifying the code?
0
Comment
Question by:zimmer9
6 Comments
 
LVL 62

Expert Comment

by:Fernando Soto
ID: 41795095
What code?
0
 

Author Comment

by:zimmer9
ID: 41795100
0
 
LVL 79

Accepted Solution

by:
David Johnson, CD, MVP earned 500 total points
ID: 41795239
90 minutes per image or 90 minutes to process 10K images? Have you profiled your code to see where it is bogging down? What are your disk queue's like? How many iops do you have available? (read/write to an SSD might help). What is your cpu percentage?  Lots of free memory?
Why still using VS2010?
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:zimmer9
ID: 41795243
90 minutes to process the 10K images.
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 41795391
Have you profiled your code to see where the most time is being spent?
0
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 41802356
Also have you tried to go multithreaded?

eg:
get a distinct list of the check images
then pass to a thread to with the file name to do the actual processing.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Need help on C# Linq query on object 6 53
Get id from json Data with NewtonSoft 3 35
how to read json value 2 32
compare between entities in entity framework 8 27
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now