From owner-freebsd-hackers@freebsd.org Mon Dec 31 18:19:20 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1904143BE3F for ; Mon, 31 Dec 2018 18:19:19 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 51A8E76AAB for ; Mon, 31 Dec 2018 18:19:19 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 1C4B92777 for ; Mon, 31 Dec 2018 18:19:13 +0000 (UTC) To: freebsd-hackers@freebsd.org References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: <3372a962-407a-2e59-cede-8238d3072bae@metricspace.net> Date: Mon, 31 Dec 2018 13:19:07 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 18:19:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe Content-Type: multipart/mixed; boundary="WmqEDypb7wVkTWEXcEMWt6CuxkY0Luvvm"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: <3372a962-407a-2e59-cede-8238d3072bae@metricspace.net> Subject: Re: Speculative: Rust for base system components References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> In-Reply-To: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> --WmqEDypb7wVkTWEXcEMWt6CuxkY0Luvvm Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 12:36 PM, Enji Cooper wrote: > Rust is still a young language, but it has a number of benefits in term= s of: > i. Being able to scale past JIT python. This fact doesn=E2=80=99t matte= r on workstations/servers, but it definitely matters on the low end with = embedded systems and the upper end with distributed systems at scale (the= re=E2=80=99s a reason why a number of critical services at my previous lo= ngterm employment were written in C++, not python. Some argue Rust can ou= tperform C/C++ [2]. C++ I can see (managed pointers were about an order o= f magnitude less performant in a microbenchmark I wrote for grabbing the = time in the Linux kernel vs malloc in C using llvm36). However, outperfor= ming C is up for debate. In terms of outperforming C++, you can outrun it on anything that involves virtual calls or runtime type information. C++ compilers have gotten pretty good at optimizing this stuff, but that's all an approximation of just not doing it in the first place. In terms of C, I think the more accurate notion is that you converge to C-like performance over time. There's not a lot of opportunity to pull out ahead of C in terms of performance, afterall, at least in purely sequential code. --WmqEDypb7wVkTWEXcEMWt6CuxkY0Luvvm-- --PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCpdmwAKCRAI38IpFsHC bLxbAP46053CGLv1CljF380xiwa1nqKJ2+M2m6HIGEboIBa/dAEApT4Fzgf+b99g kWascfpOfsns82LxoPs/CF15OyAJqQs= =iSLm -----END PGP SIGNATURE----- --PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe--