Code Lean and Mean
In days of yore it was a badge of honour to be able to fit a full file manager,
spreadsheet application, appointment reminder and Tetris Easter Egg within a 32KB
Kids these days are hard pressed to get "Hello, World" in under 4MB so we're
going to wind back the clock.
Create an application that will calculate and display the changes between two
text files as fast as possible using the least amount of memory possible. Provide
timing data and maximum memory use data to prove you're the leanest and meanest.
There will be 3 categories:
- .NET (any language)
- Any other language
Once you have created your application and posted
it as an article, post a link in the forum below so we can all view and comment
- You can wrap your solution in a GUI if you wish, and there's no need to
report memory usage or speed of the framework you use to support your code.
- The format of the files is unimportant. Treat them as plain text.
- Some runtimes such as .NET have a large working set already. You only need
to report the maximum amount of memory your code uses above and beyond the base
working set needed by the underlying runtime. If. while calling runtime methods,
member is allocated then if possible this will have to be taken into account.
All applications will use the same
data. This file contains two
large HTML files that have a small number of changes.
The competition ends Midnight August 31, 2009.
Fame, adulation and a Code Project T-shirt.
Conditions of Entry
Current winners list
|At An O(ND) Difference Algorithm for C#[^]
you can find an implementation of Eugene Myers famous algorithm that I implemented in C# back in 2005 and put it on codeproject in 2006.
It is proved to find a smallest set of changes.
There are some more samples and an updated version around the core implementation available at http://www.mathertel.de/[^]
The original implementation had a huge memory consumtion and so I optimized a lot by re-using the already allocated memory structures.
The core algorithm also only works with numeric values and not with text strings so the core algorithm is quiet efficient with memory.
modified on Monday, August 24, 2009 4:56 PM
General News Suggestion Question Bug Answer Joke Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.