From owner-freebsd-stable@freebsd.org Tue Aug 30 03:51:04 2016 Return-Path: Delivered-To: freebsd-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E363B77979 for ; Tue, 30 Aug 2016 03:51:04 +0000 (UTC) (envelope-from kmacybsd@gmail.com) Received: from mail-it0-x231.google.com (mail-it0-x231.google.com [IPv6:2607:f8b0:4001:c0b::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E7F40A73 for ; Tue, 30 Aug 2016 03:51:03 +0000 (UTC) (envelope-from kmacybsd@gmail.com) Received: by mail-it0-x231.google.com with SMTP id n75so18141804ith.0 for ; Mon, 29 Aug 2016 20:51:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=WEXltzOmzFBSUUDcaMdACuy2w+iDhmfiKXhvXnS/UhM=; b=AgbR933ohrCVF+3vG66WHHTF7FB0ovsOgezkz3McJkT6JGBWwAg8T1JoTU79MyIaDd S6Xinyz4QKZWaBMKCJ/EFZLMTWbAKHNp4r2Bi5Jsb2YGVjvRq8bzkh4Z1ttN3BShm2l/ W0boPUaV1QV1mlhqVLtY0m6c3EpWWjslyOAnzf/6QQnvoCRLaGq/mgbjBU+DWykwPMCn 4Fz0UFcUgIhvhauLtkFHP3yG/5SVT09y665ay/cl6MF3SqC75OynMVas+ArBp7liy3vw wYAqROtzJ6TnhNqJTt7ciYRIQRW4bAiShMPekl+MfTW07nuZtqXAXyaurTOHs3aFGiad GHYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=WEXltzOmzFBSUUDcaMdACuy2w+iDhmfiKXhvXnS/UhM=; b=Erw1dy6v90q/rADu//Z3Rism5OSJ5SFbARGY0u/a/dj8zMBttTmevODH9QiOOwICVq w2acJ9Bzr1qRTcyTNy1qGLLrEqdBIps0CHsxF0k4h8SKFw0pQTuRMzJtbWNTVCcD+5vh yTVC2sjm4nCXVuTR7he6jRXkZkqB4V9pRlnmPELp2ourVPfK2yO5wNEQH7ZEMD0rUIa+ 3DZN4Jt7O2FtXP0IwzdX2+BQ4GOd8LfRs3bKwSwgxQ6cwiuW029ISruDsaF2Fsxyzo7X vf8vYEHj44uK8eRPu/kVx18cudJthPY8Q7RK6QufY9gdghWm/PUbUWU6/VU1Z4td2yWb bGMw== X-Gm-Message-State: AE9vXwP6BQHVFdMVtX6LNNvReS7fcWze8MCvLNfBPlY/S4Me5iv6cnsdBradEEml5KSyH+SVGbhyYMQDxXD3gg== X-Received: by 10.36.158.213 with SMTP id p204mr19264850itd.99.1472529063108; Mon, 29 Aug 2016 20:51:03 -0700 (PDT) MIME-Version: 1.0 Sender: kmacybsd@gmail.com Received: by 10.107.143.11 with HTTP; Mon, 29 Aug 2016 20:51:02 -0700 (PDT) In-Reply-To: <20160830074656.18bfaf05@X220.alogt.com> References: <20160819073422.4292997b@X220.alogt.com> <20160821144505.27c0f55d@X220.alogt.com> <827183a944ee4052649c152d65204444@schema31.it> <20160822101423.GF18643@e-new.0x20.net> <20160822120215.GV22212@zxy.spb.ru> <20160823110159.GU18643@e-new.0x20.net> <20160824045558.18c86764@X220.alogt.com> <3234db29c228879cc473deec0b09568c@schema31.it> <20160826132059.63c23ee5@X220.alogt.com> <20160828060601.08ea91a8@X220.alogt.com> <20160830074656.18bfaf05@X220.alogt.com> From: "K. Macy" Date: Mon, 29 Aug 2016 20:51:02 -0700 X-Google-Sender-Auth: Glabn0WGByIGNB40NZNW9aW1fms Message-ID: Subject: Re: Benchmarks results for Compilers on FreeBSD 11 To: Erich Dollansky Cc: =?UTF-8?Q?Fernando_Herrero_Carr=C3=B3n?= , Andrea Brancatelli , freebsd-stable Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2016 03:51:04 -0000 On Mon, Aug 29, 2016 at 4:46 PM, Erich Dollansky wrote: > Hi, > > Micheal continued: > > http://www.phoronix.com/scan.php?page=news_item&px=FreeBSD-OpenMP-Base > > I just wonder if not enabling an option in base because the option is > not required in base would make the documentation of the program > useless except it is documented. The problem here is now that e.b. I > look typically for information of a program at the program's site. I > do not think that they care there what FreeBSD makes out of the > program. > > With other words, it creates confusion. I also don't understand why I need a system compiler and ports compiler when the system compiler is a strict subset of the ports compiler. Spending half of my buildworld time compiling llvm and friends has always been a bit annoying, but now I find that it's not even complete. I'd just as soon install devel/llvm38 from ports and use the external toolchain support (that is if it worked for llvm38). The strongest reason I've heard for bundling a compiler in src is the instability of the C++ ABI (which is completely defeated when you knowingly make the base compiler inadequate for some purposes). The others are "we've always done it that way", "we need a compiler to build the system" (a prebuilt package does that just find), and the best "Solaris didn't include a compiler and look what happened to it" (last I looked the Linux kernel didn't come bundled with gcc and as far as I can tell the Linux community is doing just fine). OpenMP is not a new technology and some widely used ports like fftw and openblas can make use of it ... but don't on FreeBSD because that requires pulling in gcc (and in this case an old one). I can't speak for the whole universe of users, but I think it's safe to say that most users are not power users who individually configure ports tailored to their needs. I think my experiences on Ubuntu, where I'm definitely not a power user, are illustrative. I never compile *anything* that has a package in an ubuntu repo and I assume that the packages are configured when built to enable any performance options that don't potentially cause stability issues. Similarly, on FreeBSD most users are going to be using packages and they're going to assume that the packages are configured to "provide the best user experience". Consequently anyone using a package that could use OpenMP is going to legitimately just assume that "X" is slower on FreeBSD. And for all intents and purposes "X" _is_ slower. Similarly, -fopenmp automatically pulls in libgomp with gcc and -openmp pulls in libiomp with icc. Neither updating the makefile nor creating a wrapper around clang/clang++ to pass the library path is difficult. However, the need to do so is essentially a regression with respect to other platforms and thus can safely be labelled as being "broken". It gratuitously creates yet another small, but real hurdle for users. -M