From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 03 04:05:05 2025 Received: (at submit) by debbugs.gnu.org; 3 Sep 2025 08:05:05 +0000 Received: from localhost ([127.0.0.1]:38408 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1utiUK-0007yb-Sf for submit@debbugs.gnu.org; Wed, 03 Sep 2025 04:05:05 -0400 Received: from lists.gnu.org ([2001:470:142::17]:55612) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1utiUI-0007xx-Kp for submit@debbugs.gnu.org; Wed, 03 Sep 2025 04:05:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1utiUC-0008Dj-KC for bug-gnu-emacs@gnu.org; Wed, 03 Sep 2025 04:04:56 -0400 Received: from mail-yb1-xb2f.google.com ([2607:f8b0:4864:20::b2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1utiUA-0006zS-46 for bug-gnu-emacs@gnu.org; Wed, 03 Sep 2025 04:04:56 -0400 Received: by mail-yb1-xb2f.google.com with SMTP id 3f1490d57ef6-e96e3094fd9so5637139276.1 for ; Wed, 03 Sep 2025 01:04:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=positron.solutions; s=google; t=1756886692; x=1757491492; darn=gnu.org; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Wb+JiC6cvVqsrGnwcGVFaUCwT7C8lvmCTim9gv1/tX4=; b=Yxq0dFRkwqIrd2d2F/yeW14Fo8fCZs3wHZYHzUQlAard5I8baj188cmjqA/wLhIHQ+ qEsejiRPYCXq4GSiu0h46L4W8Tu2pytgG3fTp1+VFNvMoUsIP0qGpqCm43sbyQIKTK1Y HK7aPwa0izqQ5I8fdKYAlviBST0BD19TmKYVGcJwVi96ogNcU3bA7i5Mt40RR2KqKdes ghdR9wtq6LfHPaaN6KrkKW/C1FbSIk4HtvBiawwp9ryB0TbvvR//U2oHfy0jJpf9tGPI 4H01BKEhxGiwnLCJ+6FB6Ln5OMTsHtuZHe6vMqER+UxwnfV4lbD0uVLUj9p7wIIlilRy 1WZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756886692; x=1757491492; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Wb+JiC6cvVqsrGnwcGVFaUCwT7C8lvmCTim9gv1/tX4=; b=bW7/17VaPsxJxckMTqIgEwweZua9k0PV8rXamDtnVzlkLH9MdUeGqtNhzcCN0EK7K8 ML5WCs6Ly1KQ1qLq+G1MCBUaA/NZkfWhLeK99Y9mqOJT4xa0inxhqqyMO2xZtmi6wSu5 6jo4kpOkIXiwWKB63NXcYpwymodhedWEGnPebc9ilkR1X419BeXxSP/7WEg5J6KzVSr9 keNynf8v+Zs26tC2PHBl1dPT/YiGmAWIIHbyYSvFxBbziUQgF07uUGrXohTruZE4e6rt r9BA7TxFwhUne75XsWsWT/KsHOx4t8vvNiMTh9q/fKedLK7HllVBVb+oZEPdQGdLDtCf fKIQ== X-Gm-Message-State: AOJu0YyNLST4tTH7jQuoIR0ZBzB8iFz6KdWzAXvdxpzxroUHIzRd0xsZ RbXJtCMM3YBmmDyC8UhnBoHrkUMESyZOPDIrqLhEv7+NKBpFH3ZRMV+iH7Q0JnNHsQF/feaeVJu 1h43qgIFq5/GWSTEZAMPbRQFSgoST8gz1MDtwzSpOV+AXJjG7FBuL2IZkEw== X-Gm-Gg: ASbGncvCxR3704GYyzI/Sp4cmoCCSDKoMpcTFFBH610POtQwx1oroq8TVQS8xOAhl58 FO8jZJxhPuDcyfR8NU9I416/cu6OmAWG0Y/Mojs50rV+JxWVC1Vb5qE0sUCEzi48ui/uD9uabM1 QQGE7ctU3ng0lNxH9n1qQ4LUjHI7RB2XL3tFXf5B2zYHUST0cUjx0wj9DPO1KeJYEwo+GT5gFgT qonzig= X-Google-Smtp-Source: AGHT+IFiR7fHE3fZGQ7KtspkCEnDrGw3ZT688F7g0XSprEGUVFVQRBMiXkCxgycXmG7MMkfrgipMGI6x3brcQaQXOgQ= X-Received: by 2002:a05:6902:e03:b0:e96:efc6:8399 with SMTP id 3f1490d57ef6-e98a567e046mr15357534276.0.1756886691704; Wed, 03 Sep 2025 01:04:51 -0700 (PDT) MIME-Version: 1.0 From: Psionic K Date: Wed, 3 Sep 2025 17:04:41 +0900 X-Gm-Features: Ac12FXxgod_r8ZU3eKc2cXJ3OGfNaqdxg-_MYjv_xY_U4GLM4KX-0VCi_7zlgMg Message-ID: Subject: Character rendering slowly To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::b2f; envelope-from=exec@positron.solutions; helo=mail-yb1-xb2f.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, 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-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) Emacs is about one week old igc branch. The humble character below was grinding my Emacs to a halt whenever the point is in a buffer where it's visible. I chased it into libfontconfig with perf. =E2=96=84=E2=96=84=E2=96=84=E2=96=84=E2=96=84 After reproducing in a bare Emacs, I figured it was worth a shot. If it slows down Emasc movement in the buffer while reading this message, you have reproduced the issue already. Perf data pointing at libfontconfig being bothered by this character. 29.05% emacs libfontconfig.so.1.15.0 [.] __popcountdi2 15.17% emacs libfontconfig.so.1.15.0 [.] FcCharSetSubtractCount 8.18% emacs libfontconfig.so.1.15.0 [.] FcCharSetFindLeafForward 5.96% emacs libfontconfig.so.1.15.0 [.] FcCompare 5.86% emacs libfontconfig.so.1.15.0 [.] FcCompareValueList 4.90% emacs libfontconfig.so.1.15.0 [.] FcStrCmpIgnoreCase 4.89% emacs libfontconfig.so.1.15.0 [.] FcCharSetIterSet 4.73% emacs libfontconfig.so.1.15.0 [.] FcStrHashIgnoreBlanksAndCase 2.04% emacs libfontconfig.so.1.15.0 [.] FcStrGlobMatch 1.61% emacs libfontconfig.so.1.15.0 [.] FcCompareNumber 1.06% emacs libfontconfig.so.1.15.0 [.] FcValueCanonicalize 0.98% emacs libfontconfig.so.1.15.0 [.] FcStrCmp 0.94% emacs libfontconfig.so.1.15.0 [.] FcCompareBool 0.88% emacs libfontconfig.so.1.15.0 [.] FcHashTableFind 0.79% emacs libfontconfig.so.1.15.0 [.] FcCompareRange 0.43% emacs emacs-31.0.50 [.] re_search_2 0.36% emacs libfontconfig.so.1.15.0 [.] FcStrCmpIgnoreBlanksAndCase 0.35% emacs [kernel.kallsyms] [k] read_hpet 0.35% emacs libc.so.6 [.] unlink_chunk.isra.0 0.35% emacs libc.so.6 [.] _int_malloc 0.32% emacs libc.so.6 [.] __strlen_avx2 0.31% emacs [kernel.kallsyms] [k] x86_pmu_disable_all 0.31% emacs libfontconfig.so.1.15.0 [.] IA__FcConfigSubstituteWithPat.part.0 0.30% emacs libfontconfig.so.1.15.0 [.] FcCompareFilename 0.24% emacs emacs-31.0.50 [.] hash_find_with_hash 0.22% emacs emacs-31.0.50 [.] Ffuncall 0.22% emacs emacs-31.0.50 [.] re_match_2_internal 0.19% emacs libfontconfig.so.1.15.0 [.] FcPtrListIterGetValue From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 03 08:46:23 2025 Received: (at 79375) by debbugs.gnu.org; 3 Sep 2025 12:46:23 +0000 Received: from localhost ([127.0.0.1]:39244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1utmsY-0007mN-SN for submit@debbugs.gnu.org; Wed, 03 Sep 2025 08:46:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42284) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1utmsQ-0007m0-S6 for 79375@debbugs.gnu.org; Wed, 03 Sep 2025 08:46:20 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1utmsK-0007ro-Ii; Wed, 03 Sep 2025 08:46:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=mjJyKNyKPqCBmNRk6Rf5ZoyrNuxYRpgc70REDPxw4SQ=; b=aaMWzXgCFqQOS11BVLgu TPNb3jApmRRJHZsG3LS9PHi07B5ZMVnosqu0OuAW3YmJmI5OMICWx5twkkC29OoOKe0NNcEtPgyln NYO/+l/asvgCQjg7I7GMZEoLwE//Eze4bDFnZKo25UitFtIseN7O+uW2CFWcvptQyANgxQSdr7cSe 4ZMqbOxb40E7FahBS4+KdTiIPT75cYRCddcMWQG2HtHXc9hHb6xF9/ERUCimF2r+YWX5vcyO4wh2G itBndiSCStWsEw6ttUFEG2eH6qfzl6IiyPVn1qhDFJBOU49ePhlOBHgESbiz41pUfoUMUeixoiAot Y12ux4LMNmwq4w==; Date: Wed, 03 Sep 2025 15:46:05 +0300 Message-Id: <86y0qvk8ky.fsf@gnu.org> From: Eli Zaretskii To: Psionic K In-Reply-To: (bug-gnu-emacs@gnu.org) Subject: Re: bug#79375: Character rendering slowly References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79375 Cc: 79375@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 3 Sep 2025 17:04:41 +0900 > From: Psionic K via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > Emacs is about one week old igc branch. > > The humble character below was grinding my Emacs to a halt whenever > the point is in a buffer where it's visible. I chased it into > libfontconfig with perf. > > ▄▄▄▄▄ > > After reproducing in a bare Emacs, I figured it was worth a shot. If > it slows down Emasc movement in the buffer while reading this message, > you have reproduced the issue already. Doesn't happen here, but my Emacs doesn't use Fontconfig, so maybe it isn't a surprise. > Perf data pointing at libfontconfig being bothered by this character. > > 29.05% emacs libfontconfig.so.1.15.0 [.] > __popcountdi2 > 15.17% emacs libfontconfig.so.1.15.0 [.] > FcCharSetSubtractCount > 8.18% emacs libfontconfig.so.1.15.0 [.] > FcCharSetFindLeafForward > 5.96% emacs libfontconfig.so.1.15.0 [.] > FcCompare > 5.86% emacs libfontconfig.so.1.15.0 [.] > FcCompareValueList > 4.90% emacs libfontconfig.so.1.15.0 [.] > FcStrCmpIgnoreCase > 4.89% emacs libfontconfig.so.1.15.0 [.] > FcCharSetIterSet > 4.73% emacs libfontconfig.so.1.15.0 [.] > FcStrHashIgnoreBlanksAndCase > 2.04% emacs libfontconfig.so.1.15.0 [.] > FcStrGlobMatch > 1.61% emacs libfontconfig.so.1.15.0 [.] > FcCompareNumber > 1.06% emacs libfontconfig.so.1.15.0 [.] > FcValueCanonicalize > 0.98% emacs libfontconfig.so.1.15.0 [.] > FcStrCmp > 0.94% emacs libfontconfig.so.1.15.0 [.] > FcCompareBool > 0.88% emacs libfontconfig.so.1.15.0 [.] > FcHashTableFind > 0.79% emacs libfontconfig.so.1.15.0 [.] > FcCompareRange AFAICT, Emacs doesn't call directly any of these Fc* Fontconfig functions that seem to be hot spots. So it is hard to figure out how do we end up calling them. Would it be possible to show the call-tree that leads to __popcountdi2 or FcCharSetSubtractCount, so that the Emacs functions which lead to those could be identified? Btw, I presume that Emacs on your system is capable of displaying this character, i.e. that you have some font capable of displaying it, is that right? Btw2, do you see the slowdown in "emacs -Q" when this character is in the buffer? Thanks.