[rust-dev] Compiling with no bounds checking for vectors?

Matthew McPherrin mozilla at mcpherrin.ca
Thu Mar 27 16:09:34 PDT 2014


I think your hypothetical situation of saving millions by disabling
bounds checks is absurd:  To save $10 per machine, assuming $0.20 per
kilowatt-hour, and saving 50 nanojoules per bounds check, you'd need
to be avoiding about 10^14 check.  That's equivalent to avoiding 1
million bounds checks every second.  Even if you had hundreds of CPU
cores running at full processing power, I would posit that there are
bigger problems, and you're probably spending way more power on cache
misses or something.

On Thu, Mar 27, 2014 at 1:42 PM, Tommi <rusty.gates at icloud.com> wrote:
> On 27 Mar 2014, at 22:17, Steve Klabnik <steve at steveklabnik.com> wrote:
>
>>> Why isn't there a compiler flag like 'noboundscheck' which would disable all bounds checking for vectors? It would make it easier to have those language performance benchmarks (which people are bound to make with no bounds checking in C++ at least) be more apples-to-apples comparisons. Also, knowing there's a flag in case you need one would put performance-critical people's mind
>>
>> A flag that removes safety is pretty antithical to the goals of the
>> language, IMHO.
>
> Yes, I agree it's not the official Rust way of things. But not providing the option seems quite totalitarian. An example use case might be a company that runs its code on 100,000 servers, and has do so for many years without a hiccup. They realize they could save millions of dollars a year in electricity bill by disabling bounds checking, and that's what they decide to do. At this point they would really like to have that compiler flag.
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev


More information about the Rust-dev mailing list