[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Supporting the Intel C++ compiler?
From:       Rik Hemsley <rik () kde ! org>
Date:       2001-10-01 1:48:15
[Download RAW message or body]

I now have two builds of qt-copy, one with gcc and one with icc.

Build notes:

  icc: added -debug and corrected qmake libadd rule (added -lpthread)
  gcc: added -no-g++-exceptions and -debug flags

Library sizes:

             gcc |  icc
  ---------------------
     debug  24.0 |  6.6
  stripped  47.0 | 11.0

Qt 'hello' example:

  Time to make (5 attempts each, best times recorded):

    gcc: 12.82s user 0.51s system 96% cpu 13.779 total
    icc:  8.43s user 0.38s system 90% cpu  9.756 total

  /proc/status (sizes in kb)

              gcc |   icc
    --------------|------
    VmSize: 10692 | 13992
     VmLck:     0 |     0
     VmRSS:  5148 |  7148
    VmData:   284 |   276
     VmStk:    24 |    24
     VmExe:    20 |    28
     VmLib:  9752 | 11536
    ---------------------

Qt 'widgets' example:

  Time to make (2 attempts each, best times recorded):

  gcc: 40.95s user 1.10s system 95% cpu 43.887 total
  icc: 22.39s user 1.46s system 85% cpu 27.792 total

Using librmm-stl:

  Note: librmm-stl is an Internet Mail Message parser, using ANSI C++
  and STL only. Moderate use of templates, mostly stuff like
  vector<string>.

  Time to make (1 attempt each, as I'm getting bored here):

  Note: gcc compiled with libtool, using -g -O2 -fPIC
        icc compiled statically, with -O2. Don't know how
        to make libtool work yet.

  gcc:  70.65s user 7.09s system 90% cpu 1:25.62 total
  icc: 110.98s user 8.61s system 90% cpu 2:12.33 total

  Loading and parsing 891 messages, retrieving 'Date' as a C++ object,
  no stdout/err (5 attempts each, best times recorded):

  gcc: 0.63s user 0.32s system 99% cpu 0.956 total
  icc: 1.46s user 1.01s system 97% cpu 2.540 total

Conclusion:

  I don't know what to conclude. According to my measurement, icc is
  faster than gcc when compiling small projects, but slower on large
  ones. icc seems to make huge binaries and they seem to run very
  slowly.

  I probably screwed up though, as I don't know how to optimise
  compilation for icc. I wonder if I could have made librmm-stl
  compile better and if a shared library would make any difference
  (I would guess that PIC code would be slower than static...)

  Ideas ?

Rik

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic