Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > C/DataDraw beats C++/STL on EDA-like benchmarks

Thread Tools

C/DataDraw beats C++/STL on EDA-like benchmarks

Bill Cox
Posts: n/a
Hi, all.

I've recently benchmarked DataDraw ( graph databases
GNU C++ graphs built using STL lists. Large graphs (4 million nodes)
were built in the shape of a mesh. Then, simple depth first
were performed starting from a corner, a hundred times.

The C/DataDraw based implementation ran 15X faster than the C++/STL
version, while using less than half the memory.

The performance difference is due mostly to cache-optimized memory
organization, which gave the DataDraw version a 16.7X lower L2 cache
miss rate, according to cachegrind. I estimate the DataDraw version
achieved around 30X higher useful information density in the cache.
This is due to several factors, which are roughly:

Keeping like data fields together, rather than object fields: 4X
Using a memory pool per field, rather than a global pool: 2X
Using 32-bit object references rather than 64-bit pointers: 2X
Embedding next pointers in edges rather than allocating link object:

The benchmarks can be found in the expamples/graph_benchmark directory
of the source code, which can be checked out with:

svn co

Best regards,
Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
New Trojan beats Firewall!! x@y Computer Support 25 12-31-2004 08:32 PM
Java beats them all John Bailo Java 5 11-27-2004 06:26 AM
Re: Where OSS beats CSS Aquila Deus ASP .Net 2 11-05-2004 06:05 AM
Samba beats Windows 2003 in file serving performance Dolly Computer Support 2 11-05-2003 02:29 PM
Re: My old Mavica beats all the new ones!!!! JK Digital Photography 3 07-20-2003 04:05 PM