From owner-freebsd-hackers@freebsd.org Tue Jan 1 03:40:25 2019 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 62A791426333 for ; Tue, 1 Jan 2019 03:40:25 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp9.server.rpi.edu (smtp9.server.rpi.edu [128.113.2.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C6D326B7EF; Tue, 1 Jan 2019 03:40:24 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth1.server.rpi.edu (route.canit.rpi.edu [128.113.2.231]) by smtp9.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x013eL9E005207 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Dec 2018 22:40:21 -0500 Received: from smtp-auth1.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth1.server.rpi.edu (Postfix) with ESMTP id 53BDA58056; Mon, 31 Dec 2018 22:40:21 -0500 (EST) Received: from [192.168.2.33] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth1.server.rpi.edu (Postfix) with ESMTPSA id B4C5C58048; Mon, 31 Dec 2018 22:40:20 -0500 (EST) From: "Garance A Drosehn" To: "Igor Mozolevsky" Cc: "Hackers freeBSD" Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 22:40:19 -0500 X-Mailer: MailMate (1.12.3r5579) Message-ID: <3E0C78EF-FBCC-4E7B-BD39-8A27322CDA8C@rpi.edu> In-Reply-To: References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0001 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.01 () [Hold at 10.10] HTML_MESSAGE:0.001, T_TVD_MIME_NO_HEADERS:0.01 X-CanIt-Incident-Id: 02XiPEll7 X-CanIt-Geo: ip=72.224.11.59; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.229 X-Rspamd-Queue-Id: C6D326B7EF X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.229 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-0.26 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_MISSING_CHARSET(2.50)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.996,0]; NEURAL_SPAM_SHORT(0.06)[0.061,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[229.2.113.128.list.dnswl.org : 127.0.11.2]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; MX_GOOD(-0.01)[cached: mail.rpi.edu]; MIME_HTML_ONLY(0.20)[]; IP_SCORE(-0.02)[country: US(-0.08)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; FORGED_RECIPIENTS(0.00)[igor@hybrid-lab.co.uk ..,gad@FreeBSD.org ...]; MID_RHS_MATCH_FROM(0.00)[] Content-Type: text/plain X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: Tue, 01 Jan 2019 03:40:25 -0000 On 31 Dec 2018, at 19:53, Igor Mozolevsky wrote: > On Tue, 1 Jan 2019 at 00:30, Garance A Drosehn wrote: > >> There's one program written in rust which I use a lot, which is >> called 'ripgrep' (or 'rg' for short). It's one of the few programs >> which I install via pre-compiled pkgs, because I don't want to wait >> for all the time it takes to compile a release-build. But I'm very >> happy with how fast the program runs. > > And what metric is that against? I'm very happy with the speed jQuery > is executed in my browser, but that's no reasonable metric to argue > that JavaScript is a suitable language for the kernel... I mentioned that program so each person could test it for themselves, using whatever metric that they are comfortable with. It is a self-contained alternative for 'grep', so you can test this one program without pulling in a bunch of other dependencies (as long as you install the pre-compiled package). And it has some nice features which people might want to play with. So if someone *wanted* to see a useful program which happens to be written in rust, then this might be a good one to try. And it seems to me that 'grep' is a good example of the kind of base-system component which could be rewritten in rust. Note that 'grep' is not part of the kernel. I'm sure we'd need to have a *lot* more experience with rust (like, many years of experience) before we'd talk about rewriting the kernel in rust. (or in any other language). In case it isn't obvious, my position is that we need more developers who have real-world experience writing real programs in rust before we add it to the base system. IMO, we should not add rust and then "hope" someone will find a glorious use for it. However, I also think that rust is interesting enough that it would be good if some of us could spend some time (out of our copious spare time) to gain that experience. And a happy new year to all, with or without rust. -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA