comp.lang.ada
 help / color / mirror / Atom feed
From: robin vowels <robin51@dodo.com.au>
Subject: Re: does a safer language mean it is slower to run?
Date: Wed, 25 Oct 2023 10:01:58 -0700 (PDT)	[thread overview]
Message-ID: <868c2fa0-9480-45e7-899f-28c8993aafaan@googlegroups.com> (raw)
In-Reply-To: <kedceaFqcp3U1@mid.individual.net>

On Thursday, 8 June 2023 at 16:57:17 UTC+10, Niklas Holsti wrote:
> On 2023-06-08 6:55, Nasser M. Abbasi wrote: 
> > Some folks in this thread 
> > 
> > https://discourse.julialang.org/t/comparison-of-rust-to-julia-for-scientific-computing/78508 
> > 
> > "I’m not an expert, but my feeling is that Rust is a “safer” language, 
> > which to me means it must be slower." 
> > 
> > etc.. 
> > 
> > Some in that thread seem to argue that a safer language 
> > will/could be slower than otherwise. 
> > 
> > Since Ada is known to be one of the safest languages, 
> > do others here feel there is any truth to this? 
> > 
> > I thought that by having more type information in the language, 
> > the compile will be able to make more optimizations (because it 
> > know more), and hence the generated code should actually be 
> > faster, not slower with a language that is less safe? 
> > 
> > I am not a compiler expert but what do others here think?
.
> If a language needs run-time checks to ensure safety, those checks 
> usually take some time, making for slower execution. 
.
Some language features need run-time checks.  These checks cannot be
carried out at compile time.
.
PL/I has some features that require run-time checks.  When the computer
hardware has certain facilities, that support does not take extra execution  time.
For example, floating-point overflow and integer overflow are detected by the
hardware on the IBM S/360 and subsequent machines including up to the latest
System z.  Such detections cause an interrupt that can be handled by the PL/I
program.  On the PC, integer overflow can cause an interrupt.
.
> If a language has a type system and compilation-time (legality) rules 
> such that the compiler can prove that some run-time checks are not 
> needed, that reduces or eliminates the slow-down. This is the case for Ada. 
.
Range is not one of them.
.
> The effect of type information on optimization is harder (at least for 
> me) to understand. If the type information lets the compiler assume that 
> some objects are not aliased, that can help optimization because more 
> computation can be done in registers alone, without using main memory. 
> This applies to Ada, but also applies to standard C, for example, 
> although some people use non-standard C features (compiler options) to 
> negate this. 
> 
> However, when comparing the "speed" of two languages and their two 
> implementations I think that the implementations usually matter more 
> than the languages.

  reply	other threads:[~2023-10-25 17:01 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-08  3:55 does a safer language mean it is slower to run? Nasser M. Abbasi
2023-06-08  6:57 ` Niklas Holsti
2023-10-25 17:01   ` robin vowels [this message]
2023-10-25 18:33     ` Niklas Holsti
2023-11-01  1:48       ` Randy Brukardt
2023-06-08  8:00 ` Dmitry A. Kazakov
2023-06-08 22:32   ` Jerry
2023-06-10 12:33     ` Gautier write-only address
2023-06-08  8:50 ` Jeffrey R.Carter
2023-06-08 15:19 ` Luke A. Guest
2023-08-03 20:42   ` Kevin Chadwick
2023-09-29 19:23 ` Shark8
replies disabled

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