Pages

February 18, 2006

Small Block Allocator Challenge!

I recieved quite a few requests about the mini-coding contest (here, but scroll about half way down to the "Who's your Daddy?" section) that I mentioned.

To refresh your memory, the idea was to write a memory allocator that could substantially outperform the Microsoft CRT (and Windows OS) for small block allocations - inspired by some
problems we had. You can read the rules or download the source to the benchmark.

Although I'm not releasing the code to my winning entry (just yet), I did include executables for both the winner (me :)) and for malloc()/free() compiled against the benchmark - they're in the source package referenced above.

The benchmark is NOT normalized for CPU/machine speed, so you should only compare your score to the winning executable (SREE_memtest.exe) run on your machine to see how you're doing. The benchmark will run twice when you launch it - the first run generates your actual "Score"; the second run is only to test validity.

Additionally, there is an "OS score" that it generates - this uses the same "total time" as the regular (official) score, but gets its efficiency measures from the OS rather than relying on you to call blockalloc()/blockfree(). We used that both to validate memory usage - and to compare to
SmartHeap, which of course, does NOT strictly follow all the rules, but whatever :P

Be warned that you'll need a tiny bit of patience (the test performs well over 1000000 allocations) and a decent amount of RAM (it allocates over a half a gig) if you're going to run the benchmark(s).

Read More or Download it

It is absolutely possible to beat the winner- we spent a week (after hours) on the problem in isolation (i.e. to each, his own); it was clear after we compared notes at the end that there were lots of things that we each did that would hugely benefit the others' attempts.

12 comments:

Anonymous said...

Ran it...sweet! So has this made it to the Boxley CVS trunk yet?

Twinsen said...

Boxley? That's my dead turtle's name.

Giving Boxely a new tricked out small block allocator would be like giving a crack addict a 20lb rock and a waterford crystal pipe.

My good sense tells me, we'd rather cure the little guy of his appetite for eensie teensie bits of RAM, rather than setup a buffet - (working on it).

Sree Kotay said...

Yeah, I'd have to agree with twinsen, re: boxely.

In addition, although the allocators are all more than good enough and complete enough feature-wise, there is a LOT that modern allocators do from a debugging/industrial strength perspective - in terms debugging and diagnostics features.

Anonymous said...

[url=http://buy-aoc-gold.rgtrcredit.com/][color=#800080][b]Age Of Conan Gold [/b][/color][/url][url=http://www.aocsale.com/][color=#800080][b]Age Of Conan Gold [/b][/color][/url][url=http://www.buy-cheap-aoc-gold.com/][color=#800080][b]Age Of Conan Gold[/b][/color][/url][url=http://www.buy-cheap-aoc-gold.com/][color=#800080][b]buy age of conan gold [/b][/color][/url]
[url=http://www.aocsale.com/][color=#800080][b]buy age of conan gold[/b][/color][/url][url=http://buy-aoc-gold.rgtrcredit.com/][color=#800080][b]buy age of conan gold [/b][/color][/url][url=http://www.buyfastgold.com/][color=#800080][b]aoc gold [/b][/color][/url][url=http://buy-aoc-gold.hellgate-pd.com/][color=#800080][b]aoc gold [/b][/color][/url][url=http://www.buyfastgold.com/][color=#800080][b]aoc gold[/b][/color][/url]
[url=http://buy-aoc-gold.hellgate-pd.com/][color=#800080][b] buy aoc gold [/b][/color][/url][url=http://www.buyfastgold.com/][color=#800080][b] buy aoc gold[/b][/color][/url]


http://www.buyfastgold.com

http://www.buy-cheap-aoc-gold.com

http://www.aocsale.com

http://buy-aoc-gold.hellgate-pd.com

http://buy-aoc-gold.rgtrcredit.com


Age Of Conan Gold     Age Of Conan Gold       Age Of Conan Gold     buy age of conan gold   buy age of conan gold   buy age of conan gold          aoc gold             aoc gold             aoc gold  buy aoc gold      buy aoc gold

Notetaker said...

Hi Sree,

Interesting test! I know i'm a couple of years late to this, but I'm going to download it anyway and try it against my own allocator on the plane (long flight ahead).

In my experience the most important thing an allocator should do is avoid going through a critical section that would block other threads.

This then gets complicated by allocator patterns such as producer/consumer (one thread allocates, another frees), the requirement for certain threads to never block on allocation, etc.

Alexei Lebedev

Notetaker said...

Hi Sree,

Heads up -- some spambot left a ton of advertising messages on your blog entries.

Anonymous said...

world of warcraft goldbuy wow goldcheap wow goldaoc goldwow power levelingwow powerlevelingwow levelingworld of warcraft goldbuy wow goldcheap wow goldwow power levelingwow powerlevelingbuy wow goldcheap wow goldwow power levelingwow powerlevelingrunescape goldrunescape moneyEverQuest 2 goldeq2 platEverQuest 2 goldeq2 platMaple Story Mesos maplestory MesosMaple Story meso maplestory meso Final Fantasy XI gilffxi gilLOTRO GoldLOTR Goldlord of the ring goldGranado Espada VisGranado Espada goldGE moneydofus kamaskamas dofusrunescape goldrunescape moneyflyff penyabuy flyff goldflyff moneyEverQuest platbuy eq goldEverQuest goldeq plateq goldAge of Conan goldage of conan power levelingfinal fantasy xi gilffxi gildofus kamaskamas dofuseve online iskeve iskLOTRO GoldLOTR Goldlord of the ring goldsilkroad goldbuy silkroad goldAge of Conan goldage of conan power levelingmaple story mesosmaplestory mesosmaple story mesoffxi gilwow levelingwow power levelingwow powerlevelingwow goldwow power levelingwow powerlevelinghero online goldimvu creditskal geonknight goldlast chaos goldlineage adenalineage 2 adenalord of the rings goldlotro goldlotr goldmaple story mesosmaplestory mesosmaplestory mesoperfect world goldpirates of the burning Sea goldaoc goldaoc goldaoc goldAge of Conan goldaoc power levelingaoc levelingaoc goldWarhammer goldWarhammer goldWarhammer goldaoc power levelingaoc levelingfinal fantasy xi gilfinal fantasy 11 cheap gilfinal fantasy 11 cheap gil

Anonymous said...

world of warcraft goldbuy wow goldcheap wow goldaoc goldwow power levelingwow powerlevelingwow levelingworld of warcraft goldbuy wow goldcheap wow goldwow power levelingwow powerlevelingbuy wow goldcheap wow goldwow power levelingwow powerlevelingrunescape goldrunescape moneyEverQuest 2 goldeq2 platEverQuest 2 goldeq2 platMaple Story Mesos maplestory MesosMaple Story meso maplestory meso Final Fantasy XI gilffxi gilLOTRO GoldLOTR Goldlord of the ring goldGranado Espada VisGranado Espada goldGE moneydofus kamaskamas dofusrunescape goldrunescape moneyflyff penyabuy flyff goldflyff moneyEverQuest platbuy eq goldEverQuest goldeq plateq goldAge of Conan goldage of conan power levelingfinal fantasy xi gilffxi gildofus kamaskamas dofuseve online iskeve iskLOTRO GoldLOTR Goldlord of the ring goldsilkroad goldbuy silkroad goldAge of Conan goldage of conan power levelingmaple story mesosmaplestory mesosmaple story mesoffxi gilwow levelingwow power levelingwow powerlevelingwow goldwow power levelingwow powerlevelinghero online goldimvu creditskal geonknight goldlast chaos goldlineage adenalineage 2 adenalord of the rings goldlotro goldlotr goldmaple story mesosmaplestory mesosmaplestory mesoperfect world goldpirates of the burning Sea goldaoc goldaoc goldaoc goldAge of Conan goldaoc power levelingaoc levelingaoc goldWarhammer goldWarhammer goldWarhammer goldaoc power levelingaoc levelingfinal fantasy xi gilfinal fantasy 11 cheap gilfinal fantasy 11 cheap gil

Charmingirl said...

Wholesale lingerie directly from China?
As a famous brand and specialized manufacturer of sexy clothing in China. Charmingirl supply the international market with fashionable sexy lingerie and sexy costume since 2002. With advanced technology,all our products are of high quality. Now we have clients all around the world. Lingerie Wholesale and OEM are welcomed!
As a Lingerie Manufacturer, Charmingirl has standard workshop and production line, professional designers and experienced workers.
We do Wholesale Underwear,
Lingerie Wholesale, including corset and bustier,
Sexy Lingerie Wholesale, including bikini, underwear
Lingerie Wholesale, and Babydolls, Sexy Lingerie Wholesale, and
Sexy Lingerie Wholesale including sleepwear,clubwear.
Lingerie Wholesale from China: Lingerie China, you will find the
Leather Lingerie and PVC Lingerie, also you can buy
Christmas Costume and Xmas Lingerie
for your Christmas Lingerie Christmas day.
Our Wholesale center: Sexy Lingerie Wholesale can do Lingerie Wholesale online.
Halloween Costume,
also wholesale Adult Costume with fashion Babydoll Babydoll, and bra and panties Bra and Panties, Sexy Uniform Sexy Uniform is also our major products.

Anonymous said...

Melbourne,Australiawow gold(Sports Network)In one of the most lopsided finalsin Australian Open history,Americanwow goldSerena Williams overpowered Russi Dinara Safina,6-0,6-3,for her 10th major singles championship.

Anonymous said...

The four Australian Open titles are tied for the most-ever in the open era as Williams joined Margaretworld of warcraft goldcheap wow goldwow orCourt,Evonne Goolagong-Cawley,Steffiwow power levelingwow geldwow gold kaufenwow gold cheapwow powerlevelingSeles on that list.

Anonymous said...

The Saturday victorywow goldwow goldfor Williams,which came in just 59 minutes,occurred just a day after she andwow goldwow goldwow goldsister Venus took home the women's doubles title.