From 5a4dd3ee6ecd9088c9700a98a15ef3d64666dbe8 Mon Sep 17 00:00:00 2001 From: Sergey Matveev <stargrave@stargrave.org> Date: Fri, 5 Jun 2020 14:19:44 +0300 Subject: [PATCH] =?utf8?q?=D0=92=20Fedora=20=D0=BF=D0=BB=D0=B0=D0=BD=D0=B8?= =?utf8?q?=D1=80=D1=83=D1=8E=D1=82=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B9=D1=82?= =?utf8?q?=D0=B8=20=D0=BD=D0=B0=20Clang=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82?= =?utf8?q?=D0=BE=20GCC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://www.opennet.ru/opennews/art.shtml?num=53097 РкомменÑаÑиÑÑ Ð¾Ð±ÑаÑили внимание ÑÑо в OpenMandriva Ñже в 2015 бÑло Ñделано. ÐÑ... FreeBSD пеÑеÑла на Clang Ñже в 2014-ом. СобÑÑвенно, Ñ Ð¿ÑÑм Ñ Ñого вÑемени на Clang-е и ÑижÑ, да и ÑейÑаÑ, бÑдÑÑи C-ÑазÑабом и пиÑÑ (Ñ Ð¾ÑÑ Ð¿ÑÐ¸Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¿ÑовеÑÑÑÑ Ð¼Ð¾Ð¹ код и под GCC 4.x). ÐÑквалÑно Ð´Ð»Ñ ÑÑиÑаннÑÑ Ð¿Ð°ÐºÐµÑов (Ñипа ÑбоÑки UEFI загÑÑзÑика Ð´Ð»Ñ bhyve) нÑжен GCC в Ñвном виде (как минимÑм, в Ñой веÑÑии поÑÑа ÑÑо Ñ Ð¼ÐµÐ½Ñ). С Ñ Ð¾Ð´Ñ Ð½Ðµ Ð¼Ð¾Ð³Ñ ÑказаÑÑ Ð²Ð»Ð¸ÑÐµÑ Ð»Ð¸ Clang на пÑоизводиÑелÑноÑÑÑ. Ð 2014-ом вÑоде как говоÑили ÑÑо он Ñ Ñже опÑимизиÑÑеÑ. Я еÑÑ Ð·Ð°ÑÑал вÑемена когда компилиÑование ÑдÑа FreeBSD на K6-2 Ñ Ð±Ð¾Ð»ÐµÐµ опÑимизиÑованнÑми опÑиÑми компилÑÑии под мой пÑоÑеÑÑÐ¾Ñ ÑеалÑно давало оÑÑзаемÑй пÑиÑоÑÑ, Ñо ÑейÑÐ°Ñ Ñже давно не замеÑÐ°Ñ Ð½Ð¸Ñего. ÐпÑÑа C ÑазÑабоÑки Ñ Ð¼ÐµÐ½Ñ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾. ÐпеÑвÑе Ñвидел Ñ ÑазÑкÑаÑеннÑе ÑообÑÐµÐ½Ð¸Ñ Ð¾Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑа именно на Clang-е и ÑолÑко годами ÑпÑÑÑÑ Ð² ÐºÐ°ÐºÐ¸Ñ -Ñо моднÑÑ GCC веÑÑиÑÑ . Clang мне нÑавиÑÑÑ Ð²Ñоде Ð±Ñ Ð¿ÑÑм огÑомнÑм колиÑеÑÑвом пÑовеÑок кода -- дейÑÑвиÑелÑно ÑилÑно Ð¿Ð¾Ð¼Ð¾Ð³Ð°Ñ Ð¸ ÑÑÐºÐ°Ñ Ð¼ÐµÐ½Ñ Ð² ноÑом ÑÑо Ñ Ð±Ñ Ð¸ не замеÑил. ÐлÑÑ clang-format, clang-tidy. ÐÑÑгие инÑÑÑÑменÑÑ Ð½Ðµ полÑÑилоÑÑ Ð¸ÑполÑзоваÑÑ, ибо ÑилÑно завÑÐ·Ð°Ð½Ñ Ð½Ð° CMake или многие sanitizer-Ñ ÑабоÑаÑÑ Ð½Ðµ ÑабоÑаÑÑ Ð½Ð° FreeBSD. Ðо ÑÑо мне в нÑм не нÑавиÑÑÑ: вÑÐµÐ¼Ñ ÑбоÑки вÑего ÑÑого LLVM/Clang. У Ð¼ÐµÐ½Ñ ÑоздалоÑÑ Ð²Ð¿ÐµÑаÑление ÑÑо 80%+ вÑемени ÑбоÑки FreeBSD Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ LLVM/Clang. СовÑеменнÑй GCC не знаÑ, но GCC 4.x -- на поÑÑдок или даже еÑÑ Ð±Ð¾Ð»ÑÑе ÑобиÑалÑÑ Ð±ÑÑÑÑее. Ðо ÑÑо опеÑаÑÐ¸Ñ ÐºÐ¾Ð½ÐµÑно не ÑаÑÑаÑ. -- 2.51.0