From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aaron Jensen Newsgroups: gmane.emacs.devel Subject: Re: macOS metal rendering engine in mac port Date: Sun, 23 May 2021 23:51:42 -0700 Message-ID: References: <831r9xjrho.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37815"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Third , YAMAMOTO Mitsuharu , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 24 08:53:43 2021 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 1ll4T9-0009kI-Db for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 08:53:43 +0200 Original-Received: from localhost ([::1]:58642 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ll4T7-00018P-TU for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 02:53:41 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ll4RR-00007K-Uv for emacs-devel@gnu.org; Mon, 24 May 2021 02:51:57 -0400 Original-Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]:53923) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ll4RQ-00012N-7M; Mon, 24 May 2021 02:51:57 -0400 Original-Received: by mail-pj1-x102b.google.com with SMTP id ot16so12343002pjb.3; Sun, 23 May 2021 23:51:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iFc0QX+z+djrN5juMijGAxXljwybi6nWCQ4Ucw+W6xI=; b=khKi9IhwxGJXZPX83/4C65khjlaMHfZWfvQE6IonxGPDJMWiLvky1GsAAtHPEKE/m4 YVZmEtb8JUyu88gRIe+WtfuwzIrZ/qIrQWo4goT8N1hXkHrdb+I6co7ra8OWvm/hfRvo KB02aXIxuFnW3kzo/Ko5XcRzqUG28nvlgrBUPZayyu4R8YE8QJHStaxFtn5LjIgxZ1Dd chz/abOfLEVScXd+vAD01MbQ0yfiZNEztpw8qS/hsQMZZ3InThd2Khb1ihcYzx2clVcZ pO8BtfetU1IvHCu20Bk7HW93bdChp6XRWX413HorwCIdywDuVngregP8tYJi0RWKq9y6 /icg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iFc0QX+z+djrN5juMijGAxXljwybi6nWCQ4Ucw+W6xI=; b=oEwUcizZ85pUeHSNZlfzSYrjBPgDSTYrZwbGKTKdNohrVY59lPBLfnpkx0/69V/9o/ pvkBqohQ7msDGnRfOi5vj7qATdgwPW1VlzDrPrhMfblYmKB6YV/v39xCNZA6AwpfIwES PuYa6oU4dIODF9Hhd2Uub5sz2jY7OartrODN2AuAubR6FGAZNwAwNl2q2YheF9QNsqTl wVExdUnjtTXHOobda73/iRWGNVBvLcNDHyhoy/mmCpmxujWBWM5HUcYyznVwSvFI8JnI gCidLN3pluchl/YTgINPz3Eyd+yol6jXWcg3FTbjlIM+lWBSLyIkCHabMypZsGbTbHrN Vujg== X-Gm-Message-State: AOAM533jsvr2ZPVBlRlIqTh+/T9xpO6E8htK+6E7BM/7uRLkblkKZ/Jt Keim6eA1KSrFzDOgq7Aww8ccyLFBIwp+urQHU+BwfkmlNwUXXQ== X-Google-Smtp-Source: ABdhPJyCeeI6HJPTELgQ7WkZ6hIaYMpvEmQdUSiEwLXbpFocnWjWu4F5rpLu74KRDEOK8lfkVsod67YDMz7QZHZjuhU= X-Received: by 2002:a17:90a:9511:: with SMTP id t17mr23246782pjo.108.1621839114047; Sun, 23 May 2021 23:51:54 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::102b; envelope-from=aaronjensen@gmail.com; helo=mail-pj1-x102b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:269733 Archived-At: On Sun, May 23, 2021 at 8:56 PM Aaron Jensen wrote: > > Here are some interesting profile pictures. On the left is emacs -Q w/ > display-line-numbers-mode. On the right is a partial version of my > config with some of the things I mentioned before removed. Most of the > difference between the two comes in the amount of time spent in > merge_faces. My config ends up spending roughly 7.5x more time in > merge_faces (1500ms vs 200ms). What causes that to get slower? One thing of note is that emacs -Q has 129 faces for me. My config has anywhere from 600-800 faces depending on what's loaded it looks like. lface_from_face_name_no_resolve does a linear time search for a face every time it's called. It's called over 700k times when I do my xdisp.c scroll up test. merge_faces is called over 150k times, each time with line-number-current-line or line-number and 0's for face_id and base_face_id. I don't really know what this code is doing at all, but all of this seems suspect. Thoughts?