From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS autolearn=no autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747245250; x=1747850050; darn=lists.altlinux.org; h=content-transfer-encoding:content-disposition:mime-version :message-id:subject:to:from:date:sender:from:to:cc:subject:date :message-id:reply-to; bh=+f3R81CrYvnTR6J56WRl63ERpdjTJIcbwbQWjqebheM=; b=QCVayuMhYOs+YbVbaitXr8NCDgU/shuX0N7QpspdfEItbRO8plwvuMyr6pHNvBk3KU Uk0UlxAdCe6V37Qvrl7WAPb6I4Oo8aMK5kENn5NXqCN9Qc7vgYW4PGOP4t06mHdV3DNJ Qe87NpA8bZ+AhSUiiMPoF+FjDoLzSUraxpZfrFYjyh8vGSmEI7rY3R6Ys3swSp7ToDde u0XmhFDuKCmkUuTF1GzXqo+dQ7XGcQ1OmewnVfbx3wO0TfWeSZuVh5shDAF+gnxB9Mst rGlTlK1at/y2XGYkRCwfVypLwUcc/HS8RDbsroaKoQh/JJEYjHLfNjc1kYNJWOp/4v2y HV4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747245250; x=1747850050; h=content-transfer-encoding:content-disposition:mime-version :message-id:subject:to:from:date:sender:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=+f3R81CrYvnTR6J56WRl63ERpdjTJIcbwbQWjqebheM=; b=X8R7CIkz6HZwH99KhYXbKOInTOZKqrPNoWTrGO8llWQUtIYqlLzvaNQY8tj4ILP2UL 3auXya1h5qL3B3LRZW6LL7NiMDwSp0LsM5/Lb08cVq2fle88/+cMU0rJ8q4oaXOB0lom 4C0rRPMF7PmnNMZpaC1G3vrhly87c6pQrvr72N7jLvWC7KskN8zti5hCDmGfbynOpFd1 pYV8SSKoKOwyt4OAtIP+64TSpXRcWl2TRVlNzgXVaJTATz2Sq2IuatggzU+vuQesz/S8 2b6d3X8BM58kH4/EjV3wz5hQclU7i7Q6bdCM0Nu8miH+yGwjjhErvQ5IHdPbFnvpI/+u 8rdg== X-Gm-Message-State: AOJu0YzFwUfv1C7I5yxkF1PvNc2nytn1CrEW5+EdkXYERb3OXCw05kLw r0GHASKl317hydP5CJiaYE5WprdOcfg/uGFjcU/4omWRsp5LngFr+2KBVG/d X-Gm-Gg: ASbGncsf4dMQnS0NSYnQWep+SAqcvs+n7O3AShaRkmk4p5xwRpP0fGnW8MctBdQfMgB gD1fWiPmQWw5EHPpz3xzb0KaULlM6iWP/vHRnradoNzUx/JS12ZrlX2flGfGd/wLmOTLsqyLmIn XwSdx5rD7oQutBYMroctGvv7+RuEIF5tyzk7Q49XZc4b6ffd0tWPRjBa7zfOd9YeFsNc7v/I2/w YU9v7/GoVdq97CRE4NWdvPfbQd8RYfqG3w+u6N0HuP3Adv4MMfn+Na+p0z03aKCDNtwXPQb3fJD aNZJgE6YWOMmsI15d79oqasfdhBjKt3Rd2NoviTOs8PwN8XCB2n2y+n1iyBfdbDRGw== X-Google-Smtp-Source: AGHT+IH1bZeIL7Qem7jq6XuDd7+6gr9wFHWHuzg6C/VtczL1nEabBTmd5ZuTtCqIop1GXToWjYUdlA== X-Received: by 2002:a05:6512:6099:b0:54f:c34f:1022 with SMTP id 2adb3069b0e04-550d5fd6ecfmr1930298e87.35.1747245250121; Wed, 14 May 2025 10:54:10 -0700 (PDT) Sender: "Ivan A. Melnikov" Date: Wed, 14 May 2025 21:54:08 +0400 From: "Ivan A. Melnikov" To: ALT Linux Team development discussions Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Subject: [devel] make ninja-build fast again X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 May 2025 17:54:13 -0000 Archived-At: List-Archive: List-Post: Приветствую. Я тут обнаружил, что ninja-build в Сизифе стал как-то хтонически небыстр. Чтобы оценить масштаб трагедии, я собрал из подручных материалов небольшой бенчмарк[1], запустив который на tmpfs получил потрясающие результаты: make -- 0:01.00elapsed samu -- 0:00.90elapsed ninja -- 0:45.00elapsed Реально, в 45 раз мелненнее make и в 50 раз медленнее samurai? Её нужно спасать! В логах обнаружилось, что при сборке ninja потерялся %optflags, и она собиралась вообще без оптимизаций. Вернув %optflags, я добился ускорения чуть больше чем в 2 раза, до ~19 секунд. Однако возвращение %optflags позволило убрать параметр `--debug`, всё равно получая работоспособный debuginfo (да, я проверял) у сборочного скрипта, что, благодаря -DNDEBUG, вернуло производительность ninja в норму. В таком виде пакет ушёл в Сизиф (задача 384155 DONE, надеюсь никому ничего не сломал). Предлагаю мейнтейнеру как-то проверять производительность при последующих обновлениях. Также можно перейти на сборку cmake'ом, как это сделали, например, в debian, чтобы всяческие best practices следовали за собой сами. [1] https://git.altlinux.org/people/iv/public/?p=build-tool-benchmarks.git -- wbr, iv m.