From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Time to merge scratch/correct-warning-pos into master, perhaps? Date: Sun, 06 Feb 2022 20:39:14 +0200 Message-ID: <83v8xryh4d.fsf@gnu.org> References: <83leyq3kfk.fsf@gnu.org> <83a6f631k3.fsf@gnu.org> <838ruq2z5t.fsf@gnu.org> <83v8xt20db.fsf@gnu.org> <83ee4gyzrh.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27468"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, mattiase@acm.org, gregory@heytings.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 06 19:48:21 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nGmaC-00070q-0r for ged-emacs-devel@m.gmane-mx.org; Sun, 06 Feb 2022 19:48:20 +0100 Original-Received: from localhost ([::1]:42806 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nGmaA-0003EV-Do for ged-emacs-devel@m.gmane-mx.org; Sun, 06 Feb 2022 13:48:18 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:48006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGmRz-0000ny-1Q for emacs-devel@gnu.org; Sun, 06 Feb 2022 13:39:51 -0500 Original-Received: from [2001:470:142:3::e] (port=34414 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGmRl-0006bA-CB; Sun, 06 Feb 2022 13:39:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=yLwcYva4gS4pifLwFitt/YsiWGHN33f8PfXjzblV114=; b=Go/Na48cXzwy OyGdm9jHOFE19RgIGjil77axpRJTc3P0tNZA4SOt4k+1Pu83Bd+Re3wfokamtUaozy6zbjviIr3g0 cg4bcgp3dEIdJjIT7KsNsu4cwOkp/T6eKmmpF242aVO/BhZJXQmQ/lJBAu88eWrO51VCp0W/7+qeS GjCDyNCYRHZxTyDh82PbmRbPmv8gACHBHA/1maIs3HT/PENJ5dgtbUDv6Si+vJ7miW2YwE4sKoqTd 7uydSRaSyfKL8KdQUk9xiEJtku3FYrZrbxRTkg45eETelIoU2itWbWMZBwxXCJf7IPi9gFxqnoJIl A0W4Mqa9Frm1+lmGTylKgw==; Original-Received: from [87.69.77.57] (port=1813 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGmRh-0006Er-4r; Sun, 06 Feb 2022 13:39:37 -0500 In-Reply-To: (message from Alan Mackenzie on Sun, 6 Feb 2022 18:09:30 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:285988 Archived-At: > Date: Sun, 6 Feb 2022 18:09:30 +0000 > Cc: gregory@heytings.org, monnier@iro.umontreal.ca, mattiase@acm.org, > larsi@gnus.org, emacs-devel@gnu.org > From: Alan Mackenzie > > > > > Where are the numbers that show how much slower is the current EQ, for > > > > the case of EQ and not-EQ objects? > > > > We don't have any such numbers. Is it even possible to measure this? On > > > earlier processors, we could have just counted up processor cycles used > > > for each instruction, but not any more. > > > Yes, it's possible: use perf. > > I've installed the user side part of perf on my machine. On reading the > tutorial (which is very difficult), it seems perf acts like a super > accurate benchmarking program, which measures program runs. > > Maybe I misunderstand what you meant - but I can't see how perf is able > to report the cycles, etc., taken by a single execution of an instance of > EQ. > > What exactly do we want to measure, here? Perf is capable of showing profiles at a source line granularity. Since the relation of parts of EQ to equal and non-equal objects is quite clear, the profile produced by perf can be easily interpreted as pertaining to either of these two possibilities. By comparing the profiles with the old and the new definitions of EQ you should be able to measure the slowdown we are interested in. Btw, unlike what you said up-thread, I don't recommend comparing the version of Emacs before the merge of the branch with today's codebase. Instead, I suggest to compile two versions of the same Emacs codebase, one with the old and simple definition of EQ, the other with the definition we use now on master. This should make the comparison easier, since the only difference will be how EQ is defined.