You are here: Home > Fastcode project > Memory Manager Challenge
Memory Manager Challenge
The objective is to build the fastest replacement for the Delphi Memory Manager.
The following operating systems are supported:
Win95, Win98, WinME, WinNT, Win2000, WinXP, Win2003, Win64.
Rules
It is allowed to use any Fastcode function such
as Move and FillChar.
Allocations must be at least 4 byte aligned.
All allocations must end at a 4 byte aligned address
The MM can use the 0-3 bytes at the end of blocks.
It is not allowed to use the patching principle for using any functions such as
FastMove and FastFillChar.
There are two targets:
RTL Replacement. Same rules as for the standard RTL Replacement Target.
No CPU ID based selection of code is allowed.
Free blended: CPU ID based selection of code is allowed. All possible
instructions are allowed. Must run on all processors from 486 and forward.
A valid entry for a given target gives 25 points.
Only one entry per target gives points.
A target winner gives 250 points
A target second place gives 150 points
A target third place gives 100 points
A target fourth place gives 50 points
Validation and
Benchmark Tool:
Change Log: FastCode Memory Manager B&V 0.54 - 28-Oct-2005
- Added the latest DKC_IA32_MM - 0.18
- Added the latest FastMM - 4.46
- Made sure the compiler defines are correct for FastMM and FastMM_16
E Link Replay
Logs (7zip)
E Link Replay Logs
(zip)
LinkCom+Server Replay Logs
(7zip)
LinkCom+Server Replay
Logs(zip)
Web Broker Replay Log (7zip)
(WebBroker_MMUsage.zip was removed due to size constraints).
Reservations_System_MMUsage Log
(7zip)
Reservations_System_MMUsage
Log (zip)
XML Replay Log (7zip)
(XMLParser_MMUsage.zip was removed due to file size constraints)
BC3 Replay Log (7zip)
BC3 Replay Log (zip)
Document Classification Replay Log
(7zip)
(Document_Classification_MMUsage.zip was removed due to file size constraints)
All Log Files (zip and 7zip) (removed due to file size constraints)
Tables of
results
Fastcode Memory Managers in the real
world
MM Usage Replay Analyzer
(zip)