Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #140013

Re: Compiler tests

Subject Re: Compiler tests
Newsgroups comp.lang.c
References <%UO0E.109606$Ur2.51894@fx14.am4> <gai9j2Fuek4U6@mid.individual.net> <m24la3llvv.fsf@despina.home> <q21mhu$jm6$1@dont-email.me>
From Bart <bc@freeuk.com>
Message-ID <lp_0E.182687$1D1.4718@fx29.am4> (permalink)
Organization virginmedia.com
Date 2019-01-20 13:08 +0000

Show all headers | View raw


On 20/01/2019 11:37, David Brown wrote:
> On 20/01/2019 10:27, Pascal J. Bourguignon wrote:

>> Well, obviously some compilers try to optimize duplicate expressions,
>> and get lost in the number of them.  Not a realistic test, but
>> definitely a good try-to-break-the-compiler test.
>>
> 
> Unfortunately for Bart, compilers are usually targeted to real code. And 
> in real code, duplicate expressions and structures /do/ turn up 
> (especially in template-based C++ coding), and optimising them is very 
> important to the efficiency of the code generation.

Except that the problem timings were with /unoptimised/ compiles. With 
optimisation enabled, they were much faster.

   But meaningless
> mass copying of the same code does not turn up in real code, and 
> compiler writers don't particularly care about the results.
> 
> This means that Bart's simplistic compiler can do a better job than real 
> compilers at this kind of meaningless artificial benchmark, and he likes 
> to trump it as "proof" that his tool is great and gcc is terrible.  It's 
> a common theme for him, and it is no more useful now than it was the 
> past dozen times he presented this.
> 
> 
> There /are/ issues with gcc compiling very large functions (in 
> particular, it takes a huge amount of memory), there are real use-cases 
> (such as for simulators), and there is work being done to improve 
> things.  I don't know the current state.

Here's another test where each line is in a separate function:

    void f1(void) {int a,b=2,c=3,d=4; a=b+c*d;}
    void f2(void) {int a,b=2,c=3,d=4; a=b+c*d;}
    void f3(void) {int a,b=2,c=3,d=4; a=b+c*d;}
    void f4(void) {int a,b=2,c=3,d=4; a=b+c*d;}
    ....

And here are some quick results:

                   20K     100K
   Pelles C        T/O      ---
   lccwin         13.0      T/O  seconds to compile
   dmc             0.4      OOM
   gcc            25.0    307.0
   gcc opt        39.0      ---
   tiny c          0.2      0.7
   msvc            3.0     34.0
   clang           6.3     30.0
   (bcc            0.3     1.6)

They still seem to fare very differently.

This test was useful in that it highlighted a problem with my bcc, which 
suffers from using a fixed-size hashtable for the main symbol table. The 
1.6 figure is after tweaking the size. I will to change it to adapt as 
needed.

However, bcc generates .asm, and my assembler for that has its own hard 
limit of 64K entries that can't be so easily changed, but it will have 
to in order to create an exe from this.

Why does gcc's speed get slower non-linearly compared with clang? Maybe 
it could also have issues that need looking at. It seemed to spend an 
awfully long time running 'as'.

(I would like to see one of your test-suites where every single test 
program is useful real-life code.)

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Compiler tests Bart <bc@freeuk.com> - 2019-01-20 00:03 +0000
  Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-20 16:52 +1300
    Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-20 10:27 +0100
      Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-20 12:37 +0100
        Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-20 13:08 +0000
          Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-20 15:02 +0000
            Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-20 17:31 +0100
              Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-20 17:08 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-20 21:40 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-20 22:41 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 00:39 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-21 00:36 +0000
                Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-21 16:33 +1300
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-21 11:58 +0000
                Re: Compiler tests Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-01-21 04:15 -0800
                Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-22 07:53 +1300
                Re: Compiler tests BGB <cr88192@hotmail.com> - 2019-01-23 01:15 -0600
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 12:00 +0000
                Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-24 08:13 +1300
                Re: Compiler tests BGB <cr88192@hotmail.com> - 2019-01-23 13:30 -0600
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 08:22 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-21 12:23 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 14:42 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-21 14:17 +0000
                Re: Compiler tests Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-01-21 12:46 -0800
                You guys really, really need to get a room (Was: Compiler tests) gazelle@shell.xmission.com (Kenny McCormack) - 2019-01-24 14:05 +0000
          Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-20 17:27 +0100
            Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-20 17:19 +0000
              Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 09:44 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-21 12:49 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 15:31 +0100
                Re: Compiler tests jacobnavia <jacob@jacob.remcomp.fr> - 2019-01-21 14:38 +0100
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-21 15:15 +0100
                Re: Compiler tests jacobnavia <jacob@jacob.remcomp.fr> - 2019-01-21 16:05 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 16:39 +0100
                Re: Compiler tests Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-01-21 12:51 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-22 00:16 +0000
                Re: Compiler tests jacobnavia <jacob@jacob.remcomp.fr> - 2019-01-22 08:43 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-22 12:31 +0000
                Re: Compiler tests jacobnavia <jacob@jacob.remcomp.fr> - 2019-01-22 17:49 +0100
                Re: Compiler tests jacobnavia <jacob@jacob.remcomp.fr> - 2019-01-23 11:04 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 11:18 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-21 15:35 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-21 15:49 +0000
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-21 17:42 +0100
                Re: Compiler tests BGB <cr88192@hotmail.com> - 2019-01-23 03:18 -0600
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 11:11 +0100
                Re: Compiler tests BGB <cr88192@hotmail.com> - 2019-01-23 12:18 -0600
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 13:56 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-22 10:55 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-22 12:07 +0000
                Re: Compiler tests fir <profesor.fir@gmail.com> - 2019-01-22 04:29 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-22 12:52 +0000
                Re: Compiler tests mark.bluemel@gmail.com - 2019-01-22 05:04 -0800
                Re: Compiler tests fir <profesor.fir@gmail.com> - 2019-01-22 05:18 -0800
                Re: Compiler tests fir <profesor.fir@gmail.com> - 2019-01-22 05:45 -0800
                Re: Compiler tests fir <profesor.fir@gmail.com> - 2019-01-22 05:35 -0800
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-22 15:10 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-22 17:30 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-22 23:02 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-22 23:14 +0000
                Re: Compiler tests Keith Thompson <kst-u@mib.org> - 2019-01-22 15:45 -0800
                Re: Compiler tests Robert Wessel <robertwessel2@yahoo.com> - 2019-01-22 17:57 -0600
                Re: Compiler tests Keith Thompson <kst-u@mib.org> - 2019-01-22 16:36 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 01:37 +0000
                Re: Compiler tests Keith Thompson <kst-u@mib.org> - 2019-01-22 18:53 -0800
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 09:42 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 09:22 +0100
                Re: Compiler tests James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-01-23 08:52 -0500
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 15:13 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 14:33 +0000
                Re: Compiler tests James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-01-23 07:30 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 16:05 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 17:17 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 16:29 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 22:04 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 21:50 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-24 10:45 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-24 11:55 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-24 13:58 +0100
                Re: Compiler tests mark.bluemel@gmail.com - 2019-01-24 05:07 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-24 14:10 +0000
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-24 14:18 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-24 15:51 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-24 15:44 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-24 17:32 +0000
                Re: Compiler tests scott@slp53.sl.home (Scott Lurndal) - 2019-01-24 19:07 +0000
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-24 20:14 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-24 22:24 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-24 22:46 +0000
                Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-25 12:34 +1300
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 01:01 +0000
                Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-25 14:15 +1300
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 10:05 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 14:51 +0000
                Re: Compiler tests Mateusz Viste <mateusz@wont.tell> - 2019-01-25 09:48 +0000
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 10:56 +0100
                Re: Compiler tests Mateusz Viste <mateusz@wont.tell> - 2019-01-25 12:08 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 13:28 +0100
                Re: Compiler tests Mateusz Viste <mateusz@wont.tell> - 2019-01-25 13:33 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 15:38 +0100
                Re: Compiler tests Mateusz Viste <mateusz@wont.tell> - 2019-01-25 15:08 +0000
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 13:53 +0000
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 12:25 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 10:03 +0100
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 10:08 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 11:14 +0100
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 12:02 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 13:37 +0100
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 13:58 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 14:26 +0100
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 15:01 +0100
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 15:42 +0100
                Re: Compiler tests Keith Thompson <kst-u@mib.org> - 2019-01-25 10:25 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 14:37 +0000
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 16:33 +0100
                Re: Compiler tests Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-01-25 07:44 -0800
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 17:53 +0100
                Re: Compiler tests Keith Thompson <kst-u@mib.org> - 2019-01-25 10:33 -0800
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 20:43 +0100
                Re: Compiler tests Keith Thompson <kst-u@mib.org> - 2019-01-25 12:17 -0800
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 18:31 +0000
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 20:41 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 21:19 +0000
                Re: Compiler tests Ian Collins <ian-news@hotmail.com> - 2019-01-26 10:24 +1300
                Re: Compiler tests "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-01-25 22:27 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 22:39 +0000
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-25 18:46 +0000
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 12:43 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 14:37 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 14:19 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 15:47 +0100
                Re: Compiler tests Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-01-25 07:17 -0800
                Re: Compiler tests Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-02-03 07:28 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-02-03 12:35 +0100
                Re: Compiler tests Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-02-03 21:47 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-02-03 22:57 +0100
                Re: Compiler tests Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-01-24 06:47 -0800
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-23 20:22 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 22:12 +0100
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-23 21:54 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-24 11:41 +0100
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-24 23:17 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 11:11 +0100
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-25 12:04 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 14:05 +0100
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-25 18:40 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-25 22:36 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-25 22:15 +0000
                Re: Compiler tests scott@slp53.sl.home (Scott Lurndal) - 2019-01-25 14:48 +0000
                Re: Compiler tests scott@slp53.sl.home (Scott Lurndal) - 2019-01-25 14:46 +0000
                Re: Compiler tests Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-01-25 17:48 +0000
                Re: Compiler tests James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-01-23 08:23 -0800
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 16:41 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 16:18 +0000
                Re: Compiler tests David Brown <david.brown@hesbynett.no> - 2019-01-23 17:28 +0100
                Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-23 20:23 +0000
                Re: Compiler tests Robert Wessel <robertwessel2@yahoo.com> - 2019-01-22 17:52 -0600
          Re: Compiler tests Bart <bc@freeuk.com> - 2019-01-20 20:17 +0000
    Re: Compiler tests BGB <cr88192@hotmail.com> - 2019-01-21 00:13 -0600

csiph-web