comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Should Inline be private in the private part of a package spec?
Date: Thu, 9 Aug 2012 19:12:36 -0500
Date: 2012-08-09T19:12:36-05:00	[thread overview]
Message-ID: <k01jlp$qco$1@munin.nbi.dk> (raw)
In-Reply-To: 613764f5-0216-4271-9278-70290198d71d@googlegroups.com

"Shark8" <onewingedshark@gmail.com> wrote in message 
news:613764f5-0216-4271-9278-70290198d71d@googlegroups.com...
> On Thursday, August 9, 2012 4:18:40 PM UTC-6, Randy Brukardt wrote:
>> "Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
>>
>> If 10.1.4(7/3) didn't exist, then Inline would not need to be given in
>> visible spec. But as I noted elsewhere, I don't think Inline should be 
>> given
>> anywhere -- compilers can figure out when to Inline better than any human
>> can. Hints about the amount of space expansion allowed for the entire
>> program and the relative importance of particular subprograms would be 
>> much
>> more valuable.
>
> Well, isn't that the reason that Pragma Inline allows the compiler to 
> inline the
> subprogram, rather than being a compiler switch _requiring_ the subprogram 
> to be inlined?

Sure. But nothing prevents a compiler from inlining any subprogram it wants. 
And if it can, it ought to inline every subprogram that makes sense.

So the only real advantages of Inline are
(1) Adding a compilation dependence, which makes it easier to implement on 
most compilers;
(2) Providing a rather non-specific hint that it might be a good idea to 
inline this subprogram.

I'd rather have a more specific hint, and let the compiler decide how best 
to implement it. (And get rid of the compiler dependence -- nothing good 
comes out of extra dependences.) In particular, some subprogram might be 
best partially inlined (that is, substituting some but not all parameters in 
a duplicate of the subprogram). For example, imagine New_Line, where the 
second parameter is rarely used. And on some machines, a call is going to be 
no more expensive than the inlined code (in which case the call is preferred 
because it could decrease cache pressure). And so on...

                                         Randy.





  reply	other threads:[~2012-08-15  2:48 UTC|newest]

Thread overview: 183+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-03 13:30 Should Inline be private in the private part of a package spec? Georg Bauhaus
2012-08-03 14:34 ` Martin Krischik
2012-08-03 15:51 ` Adam Beneschan
2012-08-03 18:07   ` Robert A Duff
2012-08-06  3:09     ` Randy Brukardt
2012-08-06 14:33       ` Robert A Duff
2012-08-06 15:50         ` Vasiliy Molostov
2012-08-06 17:58           ` Georg Bauhaus
2012-08-06 21:01             ` Vasiliy Molostov
2012-08-06 21:52               ` Georg Bauhaus
2012-08-06 22:10                 ` Georg Bauhaus
2012-08-06 23:12                   ` Vasiliy Molostov
2012-08-07  8:29                     ` Georg Bauhaus
2012-08-09 21:44                       ` Randy Brukardt
2012-08-08  1:48                   ` Shark8
2012-08-08  7:38                     ` Simon Wright
2012-08-08  8:10                     ` Georg Bauhaus
2012-08-09 21:39                   ` Randy Brukardt
2012-08-10  1:49                     ` Britt
2012-08-10  3:10                       ` Shark8
2012-08-10  6:00                         ` Vasiliy Molostov
2012-08-10 16:34                           ` Shark8
2012-08-10 22:37                             ` Vasiliy Molostov
2012-08-11  3:44                               ` Shark8
2012-08-11  4:42                                 ` Vasiliy Molostov
2012-08-13 11:53                                 ` Jacob Sparre Andersen
2012-08-10  7:37                         ` Dmitry A. Kazakov
2012-08-10 16:45                           ` Shark8
2012-08-10 17:03                             ` Dmitry A. Kazakov
2012-08-10 21:35                               ` Shark8
2012-08-10 22:10                                 ` Dmitry A. Kazakov
2012-08-11  3:27                                   ` Shark8
2012-08-11  5:25                                     ` Dmitry A. Kazakov
2012-08-11  4:48                             ` Vasiliy Molostov
2012-08-11  5:12                               ` Shark8
2012-08-10 17:06                         ` Simon Wright
2012-08-11  0:46                       ` Randy Brukardt
2012-08-11  1:57                         ` Vasiliy Molostov
2012-08-13 22:16                           ` Randy Brukardt
2012-08-14  2:52                             ` Vasiliy Molostov
2012-08-14 14:44                               ` Shark8
2012-08-14 15:09                                 ` Dmitry A. Kazakov
2012-08-14 22:04                                   ` Randy Brukardt
2012-08-15  7:51                                     ` Dmitry A. Kazakov
2012-08-15 11:08                                       ` Georg Bauhaus
2012-08-15 11:55                                         ` Dmitry A. Kazakov
2012-08-15 15:49                                           ` Georg Bauhaus
2012-08-15 16:24                                             ` Dmitry A. Kazakov
2012-08-15 16:53                                               ` Georg Bauhaus
2012-08-15 18:53                                                 ` Dmitry A. Kazakov
2012-08-15 20:39                                                   ` Georg Bauhaus
2012-08-21 22:46                                                     ` Randy Brukardt
2012-08-22 12:49                                                       ` Georg Bauhaus
2012-08-22 13:10                                                         ` Vasiliy Molostov
2012-08-22 21:55                                                         ` Randy Brukardt
2012-08-23  7:56                                                           ` Georg Bauhaus
2012-08-23  9:00                                                             ` Georg Bauhaus
2012-08-24  4:22                                                             ` Randy Brukardt
2012-08-24 10:17                                                               ` Georg Bauhaus
2012-08-24 15:07                                                                 ` Vasiliy Molostov
2012-08-24 22:09                                                                 ` Randy Brukardt
2012-08-15 21:29                                                   ` Georg Bauhaus
2012-08-16  7:30                                                     ` Dmitry A. Kazakov
2012-08-16 11:18                                                       ` Georg Bauhaus
2012-08-16 12:13                                                         ` Vasiliy Molostov
2012-08-16 12:56                                                         ` Dmitry A. Kazakov
2012-08-16 18:31                                                           ` Georg Bauhaus
2012-08-16 19:58                                                             ` Dmitry A. Kazakov
2012-08-16 22:00                                                               ` Vasiliy Molostov
2012-08-17 18:41                                                               ` Georg Bauhaus
2012-08-18  6:24                                                                 ` Dmitry A. Kazakov
2012-08-18  8:05                                                                   ` Vasiliy Molostov
2012-08-18 21:02                                                                     ` Shark8
2012-08-18 21:52                                                                       ` Simon Wright
2012-08-19  1:34                                                                         ` Shark8
2012-08-19 13:03                                                                           ` Simon Wright
2012-08-18 23:33                                                                       ` Vasiliy Molostov
2012-08-20 13:51                                                                   ` Georg Bauhaus
2012-08-20 14:15                                                                     ` Dmitry A. Kazakov
2012-08-20 16:22                                                                       ` Georg Bauhaus
2012-08-20 18:42                                                                         ` Vasiliy Molostov
2012-08-20 19:28                                                                         ` Dmitry A. Kazakov
2012-08-20 20:27                                                                           ` Vasiliy Molostov
2012-08-21 11:49                                                                           ` Georg Bauhaus
2012-08-21 13:12                                                                             ` Dmitry A. Kazakov
2012-08-21 14:17                                                                               ` Georg Bauhaus
2012-08-21 15:06                                                                                 ` Dmitry A. Kazakov
2012-08-21 15:29                                                                                   ` Pascal Obry
2012-08-21 19:12                                                                                     ` Dmitry A. Kazakov
2012-08-21 16:18                                                                                   ` Georg Bauhaus
2012-08-21 19:18                                                                                     ` Dmitry A. Kazakov
2012-08-21 21:35                                                                                       ` Pascal Obry
2012-08-21 23:11                                                                                         ` Randy Brukardt
2012-08-21 23:37                                                                                           ` Vasiliy Molostov
2012-08-22 21:40                                                                                             ` Randy Brukardt
2012-08-21 23:54                                                                                         ` Shark8
2012-08-22  6:14                                                                                           ` Pascal Obry
2012-08-23  2:29                                                                                             ` Shark8
2012-08-22  7:32                                                                                         ` Dmitry A. Kazakov
2012-08-22 13:12                                                                                           ` Georg Bauhaus
2012-08-22 14:30                                                                                             ` Dmitry A. Kazakov
2012-08-22 16:48                                                                                               ` Georg Bauhaus
2012-08-22 17:44                                                                                                 ` Dmitry A. Kazakov
2012-08-22 19:59                                                                                                   ` Georg Bauhaus
2012-08-22 20:08                                                                                                     ` Dmitry A. Kazakov
2012-08-22 20:29                                                                                                       ` Georg Bauhaus
2012-08-23  7:06                                                                                                         ` Dmitry A. Kazakov
2012-08-23  8:08                                                                                                           ` Georg Bauhaus
2012-08-23  8:38                                                                                                             ` Dmitry A. Kazakov
2012-08-23  9:58                                                                                                               ` Georg Bauhaus
2012-08-23 10:27                                                                                                                 ` Dmitry A. Kazakov
2012-08-23 11:30                                                                                                                   ` Georg Bauhaus
2012-08-23 12:28                                                                                                                     ` Dmitry A. Kazakov
2012-08-23  0:12                                                                                                       ` Vasiliy Molostov
2012-08-24  4:40                                                                                                         ` Randy Brukardt
2012-08-24  7:37                                                                                                           ` Vasiliy Molostov
2012-08-24 10:03                                                                                                           ` Georg Bauhaus
2012-08-24 22:06                                                                                                             ` Randy Brukardt
2012-08-22 21:18                                                                                                   ` Georg Bauhaus
2012-08-23  7:23                                                                                                     ` Dmitry A. Kazakov
2012-08-23  8:56                                                                                                       ` Georg Bauhaus
2012-08-23 10:13                                                                                                         ` Dmitry A. Kazakov
2012-08-23 11:33                                                                                                           ` Georg Bauhaus
2012-08-23 12:45                                                                                                             ` Dmitry A. Kazakov
2012-08-23 13:31                                                                                                               ` Vasiliy Molostov
2012-08-23 17:42                                                                                                                 ` Georg Bauhaus
2012-08-23 17:41                                                                                                               ` Georg Bauhaus
2012-08-23 11:35                                                                                                           ` Georg Bauhaus
2012-08-23 11:39                                                                                                           ` Georg Bauhaus
2012-08-23 12:33                                                                                                             ` Dmitry A. Kazakov
2012-08-23 17:33                                                                                                               ` Georg Bauhaus
2012-08-24  4:48                                                                                                             ` Randy Brukardt
2012-08-24  9:56                                                                                                               ` Georg Bauhaus
2012-08-21 16:25                                                                                   ` Georg Bauhaus
2012-08-21 22:40                                             ` Randy Brukardt
2012-08-14 15:11                                 ` Georg Bauhaus
2012-08-14 20:30                                   ` Shark8
2012-08-15 11:47                                     ` Georg Bauhaus
2012-08-15 17:18                                       ` Shark8
2012-08-14 15:19                                 ` Vasiliy Molostov
2012-08-14 20:41                                   ` Shark8
2012-08-14 23:59                                     ` Vasiliy Molostov
2012-08-15  0:50                                       ` Shark8
2012-08-15  3:02                                         ` Vasiliy Molostov
2012-08-14 22:16                               ` Randy Brukardt
2012-08-14 23:55                                 ` Vasiliy Molostov
2012-08-15  6:35                                   ` Simon Wright
2012-08-21 22:31                                   ` Randy Brukardt
2012-08-22  0:15                                     ` Vasiliy Molostov
2012-08-22 22:08                                       ` Randy Brukardt
2012-08-23  0:00                                         ` Vasiliy Molostov
2012-08-23  7:02                                         ` Niklas Holsti
2012-08-24  4:37                                           ` Randy Brukardt
2012-08-13 12:03                         ` Project files (Was: Should Inline be private in the private part of a package spec?) Jacob Sparre Andersen
2012-08-13 22:12                           ` Randy Brukardt
2012-08-10  8:12                     ` Should Inline be private in the private part of a package spec? Georg Bauhaus
2012-08-06 23:09                 ` Vasiliy Molostov
2012-08-07  9:33                   ` Georg Bauhaus
2012-08-07 13:09                     ` Vasiliy Molostov
2012-08-07 13:41                       ` Georg Bauhaus
2012-08-07 14:06                         ` Vasiliy Molostov
2012-08-09 22:32                         ` Randy Brukardt
2012-08-07 13:45                     ` Vasiliy Molostov
2012-08-07 13:55                       ` Georg Bauhaus
2012-08-07 14:12                         ` Vasiliy Molostov
2012-08-09 21:56                     ` Randy Brukardt
2012-08-07  0:25                 ` Vasiliy Molostov
2012-08-07 10:01                 ` Simon Wright
2012-08-07 13:21                   ` Vasiliy Molostov
2012-08-07 17:28                     ` Simon Wright
2012-08-07 19:26                       ` Vasiliy Molostov
2012-08-07 13:34                   ` Vasiliy Molostov
2012-08-07 17:31                     ` Simon Wright
2012-08-07 13:48                   ` Georg Bauhaus
2012-08-07 17:47                     ` Simon Wright
2012-08-09 22:34                   ` Randy Brukardt
2012-08-10 14:26                     ` Simon Wright
2012-08-09 21:33                 ` Randy Brukardt
2012-08-09 22:18         ` Randy Brukardt
2012-08-09 22:29           ` Shark8
2012-08-10  0:12             ` Randy Brukardt [this message]
2012-08-12 21:35           ` Robert A Duff
2012-08-03 16:15 ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox