Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Dec 2018 23:32:09 -0800
From:      Brian Neal <brian@aceshardware.com>
To:        Garance A Drosehn <drosih@rpi.edu>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Speculative: Rust for base system components
Message-ID:  <92bd5362-d898-aa12-8f3d-9fbe23f38e0c@aceshardware.com>
In-Reply-To: <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu>
References:  <ca76e5f7-6e59-bd67-144a-90ad66f0252e@metricspace.net> <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
It was a debug build with no optimization for either compiler. But we 
can easily run a variety of settings for comparison:

Compiler              Flags                 Inst. Count Build Time
======================================================================
clang 7.0.0           none                           33 296ms
                       -O3                            23 341ms
rustc 1.31.0          none                          110 606ms
                       -C opt-level=3                 67 643ms
gcc 8.2               none                           37 211ms
                       -O2                            24 249ms
                       -O3                          119* 206ms

* With -O3, gcc unrolled and vectorized the loop. The other compilers 
did not emit vectorized code at any of the standard optimization levels.

So, essentially, double the build time and ~3 times the code for the 
same logic.

On 12/31/2018 7:23 PM, Garance A Drosehn wrote:
>
> On 31 Dec 2018, at 23:04, Brian Neal wrote:
>
>     This is a good read on some of the pitfalls of Rust:
>
>     https://hackernoon.com/why-im-dropping-rust-fd1c32986c88
>
>     In terms of performance, take a look at Rust on godbolt...a quick
>     test I just ran with a trivial program that sums up a sequence of
>     odd numbers is 29 instructions in C on clang 7.0 and a whopping
>     137 (!!!) on rustc 1.31.0!
>
>     Crazy...
>
> Did you compile your program as a "release build", or just as a
> standard (quick) build?
>
> --
> Garance Alistair Drosehn = drosih@rpi.edu
> Senior Systems Programmer or gad@FreeBSD.org
> Rensselaer Polytechnic Institute; Troy, NY; USA
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?92bd5362-d898-aa12-8f3d-9fbe23f38e0c>