Path: utzoo!utgpu!news-server.csri.toronto.edu!torsqnt!lethe!becker!ncrcan!brambo!wwg From: wwg@brambo.UUCP (Warren W. Gay VE3WWG) Newsgroups: comp.sys.ibm.pc.programmer Subject: Re: No Aliasing Compile Option Keywords: Microsoft 6.0 C update woes alias Message-ID: <893@brambo.UUCP> Date: 4 Jun 90 17:15:46 GMT References: <1990May19.141401.4350@ux1.cso.uiuc.edu> <265861D7.3293@tct.uucp> <1913@cod.NOSC.MIL> <265A8814.1465@tct.uucp> Reply-To: wwg@brambo.UUCP (Warren W. Gay VE3WWG) Organization: Bramalea Software Inc., Bramalea, Ont. Lines: 55 >In article <265A8814.1465@tct.uucp> chip@tct.uucp (Chip Salzenberg) writes: >[[ Please note that the -Ox flag of MSC 6.0 is now safe. However, > unsafe aliasing optimization is still available with the -Oa flag. > The target of my criticism is the use of -Oa in compiling > advertising benchmarks. ]] >...bunch of stuff removed... > >Nevertheless, I stand by my assertion that the use of a "benchmark >flag" (-Oa) is reprehensible on Microsoft's part--doubly so, since >they didn't print in large friendly letters, THIS BENCHMARK IS >COMPILED WITH A NO-ALIASING OPTION THAT YOU MAY NOT BE ABLE TO USE FOR >YOUR OWN CODE. I'm coming into this fray rather late, but hey-- at least they didn't use the "#asm" optimization feature! :-) You are arguing at cross purposes. Unless u are in agreement about what is being measured, the argument is pointless. "What should the benchmark measure?" The possibilities include: 1. Default compiles. 2. Safe optimized compiles. 3. Flat out capability. I believe that all 3 measurements are useful. Measurement # 2 is probably the most important, especially when existing code is to be RE-compiled and/or ported. If only one set of benchmarks are going to be published, then I tend to think that this should be the figure to publish (but again, we have to agree on what is being measured first). However, if I was to purchase a product, and assuming that I also want to spend the time tweaking (or can justify doing so), then the all out, flat out "measurements" are also highly significant. This becomes a test of the "capability" of the compiler-- just how far can it go if I NEED it. If I went with "safe optimization" only compiler (or options), then I'd be forced to go to MASM more often. Given the choices-- I'd much rather use a "subset C" when I need to, then be stuck to a principle. *flame*suit*on* After all, referring thru a pointer is equally valid C code. So why INSIST on aliasing in the first place? ;-) *flame*suit*off* --... ...-- ... VE3WWG @ VE3HPL : AX.25 Bramalea Software Systems Inc... !utgpu!telly \ !brambo!wwg !{uunet!mnetor, watmath!utai}!lsuc!ncrcan / utzoo!telly!brambo!wwg@ai.toronto.edu : Internet