[LLVMdev] Re: Starting with LLVM-GCC on Cygwin

Alex Vinokur alexvn at go.to
Wed Oct 6 00:08:19 PDT 2004


"Chris Lattner" <sabre at nondot.org> wrote in message news:Pine.LNX.4.44.0410051204480.5863-100000 at nondot.org...
> On Tue, 5 Oct 2004, Alex Vinokur wrote:
>
> > I would like to use LLVM-GCC to compare its performance with other compilers.
> > Something like testsuite "Computing very large Fibonacci numbers" at
> > http://article.gmane.org/gmane.comp.lang.c%2B%2B.perfometer/37.
>
> Out of curiousity, I ran some quick tests on a AMD Athlon(TM) MP 2100+ box
> running Redhat linux 7.1.
[snip]
>
> Note that this benchmark allocates a TON of memory,

The main purpose of the "Computing very large Fibonacci numbers" algorithm was to create fast _recursive_ algorithm.
The algorithm generates very large Fibonacci numbers using the primary recursive formula:
F(n) = F(n-1) + F(n-2) n > 1; F(1) = 1, F(0) = 0.

Latest version of the algorithm is 2.7.9 and can be seen at
http://groups.google.com/groups?selm=2paj5hFim4q1U1%40uni-berlin.de

> so it's not a wonderful benchmark of CPU bound tasks (also, the compiler in use will
> have less impact than for a CPU bound program).  In any case, I've added
> this program to the LLVM testsuite as
> SingleSource/Benchmarks/Misc-C++/bigfib.cpp, so we should have numbers for
> it generated every night on multiple platforms.
>
[snip]

Newsgroup http://news.gmane.org/gmane.comp.lang.c%2B%2B.perfometer contains another testsuites.
For instance:

1. Simple C++ Perfometer
Methods of copying files
http://article.gmane.org/gmane.comp.lang.c%2B%2B.perfometer/47.

2. C/C++ Program Perfometer
http://sourceforge.net/projects/cpp-perfometer/
http://alexvn.freeservers.com/s1/perfometer.html

Latest version is  2.8.0-1.18.
Its description can be ssen at http://article.gmane.org/gmane.comp.lang.c%2B%2B.perfometer/39

 List of all testsuites
   ----------------------
   - access to an element
   - argument passing
   - argument passing (built-in types)
   - argument passing (containers-1)
   - argument passing (containers-2)
   - argument passing (containers-3)
   - calling functions : templated vs. non-templated
   - container performance (Stepanov & Stroustrup)
   - copying files : input to output
   - dynamic_cast vs. switch
   - endl vs. "\n", '\n' [! stdout/stderr > tmp]
   - exception handling vs. if-statement
   - find method vs. find algorithm
   - for-loop vs. for_each
   - for_each vs. transform
   - iterators
   - multiple inheritance vs. single inheritance
   - primitive operators
   - pthreads
   - reading contents from file into one string
   - recursion vs. iteration vs. accumulate
   - str-functions vs. mem-functions (C)
   - string initialization (C vs. STL)
   - string length (C vs. STL)
   - string processing (C vs. STL)
   - stub tested functions
   - tech report : D1 - overhead of class operations
   - tech report : D3 - the Stepanov abstraction penalty benchmark
   - tech report : D4 - comparing function objects to function pointers
   - tech report : D5 - measuring the cost of synchronized I/O
   - virtual vs. ordinary methods


-- 
 Alex Vinokur
     email: alex DOT vinokur AT gmail DOT com
     http://mathforum.org/library/view/10978.html
     http://sourceforge.net/users/alexvn






More information about the llvm-dev mailing list