From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,6458d1ee91b224ec X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.66.80.41 with SMTP id o9mr297533pax.4.1361538259612; Fri, 22 Feb 2013 05:04:19 -0800 (PST) Path: jm3ni14070pbb.0!nntp.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!novia!news-hub.siol.net!news.mi.ras.ru!goblin1!goblin.stu.neva.ru!newsreader4.netcologne.de!news.netcologne.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Sat, 16 Feb 2013 16:12:16 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: chopping Ada source that have preprocessor symbols in them References: <5111a9d5$0$6567$9b4e6d93@newsspool3.arcor-online.net> <85txpnm1vp.fsf@stephe-leake.org> <5114fb61$0$6561$9b4e6d93@newsspool4.arcor-online.net> <85ehgqkxnf.fsf@stephe-leake.org> <51168e7e$0$6566$9b4e6d93@newsspool3.arcor-online.net> <85r4khdfm3.fsf@stephe-leake.org> <511e17c3$0$9520$9b4e6d93@newsspool1.arcor-online.net> <85txpcbrcj.fsf@stephe-leake.org> In-Reply-To: <85txpcbrcj.fsf@stephe-leake.org> Message-ID: <511fa1cd$0$6559$9b4e6d93@newsspool4.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 16 Feb 2013 16:12:13 CET NNTP-Posting-Host: b2f0c075.newsspool4.arcor-online.net X-Trace: DXC=lEQG=P<]kIL78PK[oJ2ng@4IUKgZAIPCY\c7>ejVHX1]:9o_PDnFF\DXS89iM3D X-Complaints-To: usenet-abuse@arcor.de X-Received-Bytes: 4471 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: 2013-02-16T16:12:13+01:00 List-Id: On 16.02.13 09:22, Stephen Leake wrote: > I gather you believe changing the procedures in the foreign organization > is impossible; have you at least asked? Explained your problem and asked > for solutions? I have asked for why this arrangement of source code is needed; others have asked before me. The reasons given are in fact convincing once the context becomes apparent to the outsider. > I don't see that as "abstracting files away"; C-c C-d (in Emacs Ada > mode) navigates to another file. Files are quite central to editing in > Emacs. The programmer using an IDE does not have to remember the files, the file naming scheme, etc.(*) Source code navigation and language-based views give a better outline of the program's structure. Files are central to how Emacs and other IDEs fill and save text buffers, sure, but the files vanish when editing with good language support. "Get me the declaration of that thing!" If this is what the programmers wish the IDE to do for them, then why should they have to do all the name resolution themselves? I.e. find full Ada names and then know the corresponding file system names? >> My fairly recent 4 core machine > > The disk speed, memory size, and CPU clock rate (in that order) have > more impact; the gnat compiler does not take advantage of multiple cores > (unless I've missed a recent change), and compiling does a lot of disk IO. File I/O is not slowing the process much; what seems to matter is the dependency mechanism that GNAT is using (which, I think, is normally stat(2)-based). This would be the reason why GNAT's switch -m helps so much whenever it works with freshly chopped source. > Yes, the details matter. Improving generic instantiation compilation > speed might also be a reasonable enhancement request; AdaCore can always > use more feedback on what to work on next. In case of generic instantiations, I'd actually expect, or even hope that compilation time increases. When the compiler spends time handling instances this could reflect efforts to adapt instances to the specifics of the generic formals. Indeed, the quality of the code produced lets me think that compilation time was well spent. I have few compilers to compare, but for example, I see what happens to statically known conditionals whose value depends on generic formals---static polymorphism at its best, without the need for a tagged dummy variable. This counts when inner loops perform no comparison instead of an average of 2, so waiting for the compiler is worth it. (That's assuming that the program would not work better if all instances shared the same code of a smaller executable.) __ (*) Maybe this is a reason why some programmers coming from Turbo Pascal-like IDEs would have to learn about files, editors, command line compilers etc. They had been developing software without these artifacts of OS bureaucracy.