X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 15 Oct 2020 09:54:01 +0000 Resent-Message-ID: <handler.44007.B.160275560425368 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 44007 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.160275560425368 (code B ref -1); Thu, 15 Oct 2020 09:54:01 +0000 Received: (at submit) by debbugs.gnu.org; 15 Oct 2020 09:53:24 +0000 Received: from localhost ([127.0.0.1]:54375 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kSzwq-0006b5-9f for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 05:53:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:49506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1kSzwo-0006ax-Ag for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 05:53:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <geza.herman@HIDDEN>) id 1kSzwn-0003Ny-VM for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2020 05:53:21 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:45629) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <geza.herman@HIDDEN>) id 1kSzwl-0002qy-U0 for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2020 05:53:21 -0400 Received: by mail-ed1-x52a.google.com with SMTP id dg9so2400535edb.12 for <bug-gnu-emacs@HIDDEN>; Thu, 15 Oct 2020 02:53:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=nPM5Y7oaKPESk+BWnVd0FRUQoB61uq5KSsLxcg+F8BM=; b=Y9VYCieMAIP3vGUM0k8+8od1JsPnkKf5/BNicYec7Hfpzb7JsDyPXwZIaObQZeS7JN AUgODcP4Kn6Q/5qRo2jCggri753uXMcpqSGR1XemyOCxC835NlKTEI5++1XsBFs/Bt/j NhW6BYojLTJRe3lxMmJxycr0hGoywsojMNbCJMlpObJWdT1tgw7U3yLp6ZURvH344ig1 UgtPUHgtG6JMR/GpAvxl5giMSikUoAAfVtvE0vyBiDK4HCFv9GiGn1ukVkoKt76UbHYR UYOoSv/npJfo93CLlPi5ASLmlOrMSPezY00F980r8QUmYp6wzqBxhsat2X+3Fk09YmuF B/lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=nPM5Y7oaKPESk+BWnVd0FRUQoB61uq5KSsLxcg+F8BM=; b=M+czVJDM+yXHHP2Kudukr1NSr3dwc1z9al13I+3icrnvFIMALP3VWJlFMHecL2GTtg SF4SsuzDF5555iUQvIjaImc2cSb/qXRZHEQYc534TEFD1oWrJWm7qdf3zsfIpLBV1vyH jXMlczoVMha7IWtS4zZbsxmO15g8RQ2hEBmULkmZwAd2xijFqZqnEvzT1qZXk4/WDcBn 09uTz+I66b2J3oC4MnnaDwFnKfgx3+ZQsOB66dgCYu55P8KwMQZ49JxUtoHaVt9BzeTn j1s8jPjv7OvdOvURseYZIEneOki/U37uSIcOJHfaB41i9Z6LeKMB8tk2QOGW+32jyM7r GtGQ== X-Gm-Message-State: AOAM532M1kclUGb2noiK77FW5bNty2WngkKPOpR38n+MdMxoyuRsFyUC x9RmSfyEbjASTBDUFPpsfrI= X-Google-Smtp-Source: ABdhPJxDeHU33MQlR07Cwv5JAX6zK5huVdX0ZoUO3G/QVQaXhLhayrtXRAEHNZmQ+frfcCceCWp5Tw== X-Received: by 2002:aa7:c302:: with SMTP id l2mr3500532edq.204.1602755598299; Thu, 15 Oct 2020 02:53:18 -0700 (PDT) Received: from [192.168.8.4] (netacc-gpn-34-232-185.pool.telenor.hu. [37.234.232.185]) by smtp.gmail.com with ESMTPSA id b8sm1234708edv.20.2020.10.15.02.53.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 15 Oct 2020 02:53:17 -0700 (PDT) From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Message-ID: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> Date: Thu, 15 Oct 2020 11:53:16 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: sv-FI Received-SPF: pass client-ip=2a00:1450:4864:20::52a; envelope-from=geza.herman@HIDDEN; helo=mail-ed1-x52a.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) I'm experiencing strange shell (comint) mode performance. If I cat a 10 MB file, it takes 1:20 to cat it. Emacs uses only 30% cpu. But, if I press enter after I send the cat command, it speeds up, and it only takes 8 sec (emacs cpu usage goes up to 100%). Same thing: if I execute "seq 100000" in a small emacs window, it takes ~3 seconds. But, if I press enter after executing seq, it takes only 0.4 sec (this is not 100% reproducible, sometimes pressing enter doesn't make a difference). (I executed comint-clear-buffer before measurements) It happens with 26.3 and ~3-week-old master branch as well, without any extra config (emacs -Q). In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20) of 2020-05-17, modified by Debian built on x86-csail-01 Windowing system distributor 'The X.Org Foundation', version 11.0.12008000 System Description: Debian GNU/Linux bullseye/sid Recent messages: Overwrite mode enabled in current buffer Overwrite mode disabled in current buffer Mark set [2 times] Setting ‘send-mail-function’ temporarily since "emacs -q" would overwrite customizations Sending... Mark set [2 times] Sending via mail... Sending...done mwheel-scroll: Beginning of buffer [8 times] mwheel-scroll: End of buffer [6 times] mwheel-scroll: Beginning of buffer [6 times] Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-mHAik2/emacs-26.3+1=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD LCMS2 Important settings: value of $LC_ALL: C.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (mailalias mailclient browse-url cus-edit cus-start cus-load wid-edit help-mode pp shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 121337 21158) (symbols 48 22080 0) (miscs 40 64 154) (strings 32 32731 1152) (string-bytes 1 852243) (vectors 16 15681) (vector-slots 8 516540 10022) (floats 8 64 228) (intervals 56 612 0) (buffers 992 14))
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Subject: bug#44007: Acknowledgement (26.3; Strange shell mode performance) Message-ID: <handler.44007.B.160275560425368.ack <at> debbugs.gnu.org> References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> X-Gnu-PR-Message: ack 44007 X-Gnu-PR-Package: emacs Reply-To: 44007 <at> debbugs.gnu.org Date: Thu, 15 Oct 2020 09:54:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 44007 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 44007: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D44007 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 15 Oct 2020 14:11:01 +0000 Resent-Message-ID: <handler.44007.B44007.160277104627785 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Herman <at> debbugs.gnu.org, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Cc: 44007 <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.160277104627785 (code B ref 44007); Thu, 15 Oct 2020 14:11:01 +0000 Received: (at 44007) by debbugs.gnu.org; 15 Oct 2020 14:10:46 +0000 Received: from localhost ([127.0.0.1]:56127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kT3xu-0007E2-48 for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:10:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1kT3xs-0007Dq-BU for 44007 <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:10:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51183) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1kT3xn-0004cK-3F; Thu, 15 Oct 2020 10:10:39 -0400 Received: from [176.228.60.248] (port=2748 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <eliz@HIDDEN>) id 1kT3xm-0000FS-D5; Thu, 15 Oct 2020 10:10:38 -0400 Date: Thu, 15 Oct 2020 17:10:50 +0300 Message-Id: <83imbby3yt.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> (Herman <at> debbugs.gnu.org) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Herman <at> debbugs.gnu.org, Géza <geza.herman@HIDDEN> > Date: Thu, 15 Oct 2020 11:53:16 +0200 > > I'm experiencing strange shell (comint) mode performance. If I cat a 10 > MB file, it takes 1:20 to cat it. Emacs uses only 30% cpu. But, if I > press enter after I send the cat command, it speeds up, and it only > takes 8 sec (emacs cpu usage goes up to 100%). > > Same thing: if I execute "seq 100000" in a small emacs window, it takes > ~3 seconds. But, if I press enter after executing seq, it takes only 0.4 > sec (this is not 100% reproducible, sometimes pressing enter doesn't > make a difference). > (I executed comint-clear-buffer before measurements) Can you please describe a detailed reproduction recipe, starting from "emacs -Q"? It is not exactly clear from the above whether you do this in a shell-mode buffer or in some other mode, where exactly do you press Enter, etc. A detailed recipe will resolve all those unclear aspects. Thanks.
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: "Herman, Geza" <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 15 Oct 2020 14:35:01 +0000 Resent-Message-ID: <handler.44007.B44007.160277248630473 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii <eliz@HIDDEN>, Herman <at> debbugs.gnu.org Cc: 44007 <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.160277248630473 (code B ref 44007); Thu, 15 Oct 2020 14:35:01 +0000 Received: (at 44007) by debbugs.gnu.org; 15 Oct 2020 14:34:46 +0000 Received: from localhost ([127.0.0.1]:56164 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kT4L8-0007vQ-FE for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:34:46 -0400 Received: from mail-ed1-f49.google.com ([209.85.208.49]:42684) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1kT4L6-0007vE-VT for 44007 <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:34:45 -0400 Received: by mail-ed1-f49.google.com with SMTP id v19so3296272edx.9; Thu, 15 Oct 2020 07:34:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=Poo1n84idQ11kBefxRf1wBYoJmoNugsSxHudK3ImBTU=; b=aw9zfuuf/M6AeqBP+/urd3qmmfNntWs0HrdtARoeyCdwMLHuIuYxqSnGpi4E9gULES UdH1a/SZ/gYPz3kMbmp+bmQLqKUWULDSQfih5lq70zNm2Ys/AgEJM5OuAke9ToNx23o3 mt0f0X9fUG4TtYo4iJZYpqmEGdpdRR3/yD5RqXsZVPdkVizUnVgm1jsFd+lJ5t1yHNAx RfK2CE+exFICLGv+Rpnutxd6lFMIPHfeFGbWFUTOUPA9oHZ/NEx5Ym+psqW9mBQKz0TW QWGa3hye26j8WoaPdGE8Nb1RP11L7ehS2esFQrR0vdSeonc5bjvdhcp6p+sjz8U6IcQJ Kd3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=Poo1n84idQ11kBefxRf1wBYoJmoNugsSxHudK3ImBTU=; b=JeV1yKmyteLaZ9iq20terVQ578yCfldx/YRHYvhX+TCrlOzDyziEYzfFUIqclTx2Cy fmELr8uLRtJvNaJiN9pizbhznweovtciz8DwntcwS7bTGULV1xRM9ditFmJ9fugnjDgA SFaIy+miaDmnelRNGhfO+13GRmEvjCBfipGoRL2/hsZIXGUQZF8D5FspzjQmlcFwJNfb GEfE4QeNl4uTaSMgInTZMwXD46m+/rxn+u8+7ce9l8Hp+cB87v9aJpH5fpLYcz8pzUx3 QXjN41Poyyl0mHqhryeKXtKG8Dtw2JAL+/gsDJtFSK8ZmSIyy4ziQO9d0VycVIj7Q5uK 0vwg== X-Gm-Message-State: AOAM531Cg6y5Px/8hu15S3xjJIr3F7oP7BUKOMlrAbpnHLMRl0x4ymOG NgeLzAunIWMftMFmaCz+UF22BEcDOk0= X-Google-Smtp-Source: ABdhPJwnTi2J5jQDJi3XqEnJxGt+V2/vyp4tvAdyF1gK+bOky3jMbGfsGGExsvBg6JlkisJ0kOzFeQ== X-Received: by 2002:a05:6402:3191:: with SMTP id di17mr4561648edb.376.1602772478833; Thu, 15 Oct 2020 07:34:38 -0700 (PDT) Received: from [192.168.8.108] (netacc-gpn-34-232-185.pool.telenor.hu. [37.234.232.185]) by smtp.gmail.com with ESMTPSA id k11sm1694774eji.72.2020.10.15.07.34.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 15 Oct 2020 07:34:38 -0700 (PDT) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> From: "Herman, Geza" <geza.herman@HIDDEN> Message-ID: <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> Date: Thu, 15 Oct 2020 16:34:37 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <83imbby3yt.fsf@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Score: -1.0 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.0 (--) Sure! 1. execute emacs by "emacs -Q" 2. M-x shell RET 3. in the shell, execute "seq 100000" (or cat a large file) 4. immediately after you hit enter on "seq 100000" press enter again It doesn't reproduce 100% unfortunately. It seems that if it doesn't reproduce, you need to start from step 1., so it has a higher chance to happen. Another strange thing is that enter can have the opposite effect as well: if I press it during "seq 100000" several times (not immediately after "seq 100000", but after ~1 sec), it can make seq slower. Instead of the usual 3-4 sec, it slows down to >10 sec. (I measured by "time seq 100000"). It seems that the more enter I press, the slower it gets. But maybe it's a different issue. On 2020-10-15 16:10, Eli Zaretskii wrote: >> From: Herman <at> debbugs.gnu.org, Géza <geza.herman@HIDDEN> >> Date: Thu, 15 Oct 2020 11:53:16 +0200 >> >> I'm experiencing strange shell (comint) mode performance. If I cat a 10 >> MB file, it takes 1:20 to cat it. Emacs uses only 30% cpu. But, if I >> press enter after I send the cat command, it speeds up, and it only >> takes 8 sec (emacs cpu usage goes up to 100%). >> >> Same thing: if I execute "seq 100000" in a small emacs window, it takes >> ~3 seconds. But, if I press enter after executing seq, it takes only 0.4 >> sec (this is not 100% reproducible, sometimes pressing enter doesn't >> make a difference). >> (I executed comint-clear-buffer before measurements) > Can you please describe a detailed reproduction recipe, starting from > "emacs -Q"? It is not exactly clear from the above whether you do > this in a shell-mode buffer or in some other mode, where exactly do > you press Enter, etc. A detailed recipe will resolve all those > unclear aspects. > > Thanks.
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Andreas =?UTF-8?Q?R=C3=B6hler?= <andreas.roehler@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 16 Oct 2020 08:26:01 +0000 Resent-Message-ID: <handler.44007.B.160283673221060 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 44007 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.160283673221060 (code B ref -1); Fri, 16 Oct 2020 08:26:01 +0000 Received: (at submit) by debbugs.gnu.org; 16 Oct 2020 08:25:32 +0000 Received: from localhost ([127.0.0.1]:57576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kTL3M-0005Tc-2m for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 04:25:32 -0400 Received: from lists.gnu.org ([209.51.188.17]:37066) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <andreas.roehler@HIDDEN>) id 1kTL3K-0005TU-Pu for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 04:25:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53964) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <andreas.roehler@HIDDEN>) id 1kTL3K-0007S8-IH for bug-gnu-emacs@HIDDEN; Fri, 16 Oct 2020 04:25:30 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:41947) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <andreas.roehler@HIDDEN>) id 1kTL3I-0000ve-KW for bug-gnu-emacs@HIDDEN; Fri, 16 Oct 2020 04:25:30 -0400 Received: from [192.168.178.39] ([82.207.239.218]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N8G6I-1kP1XA2JZw-014Gf5 for <bug-gnu-emacs@HIDDEN>; Fri, 16 Oct 2020 10:25:24 +0200 References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> From: Andreas =?UTF-8?Q?R=C3=B6hler?= <andreas.roehler@HIDDEN> Message-ID: <cbcb0fb5-0c3f-b6ff-b518-92a2891b45d2@HIDDEN> Date: Fri, 16 Oct 2020 10:25:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:fSHNEcCU7jXoUM1LmNAhVtcT57Az5YrfbHyqgcJZ1nlzd6+BpeI vvKGSq70XyEt4akNHpfa+psu8IT8tU7BM1EZl0CV+3A4/9CZMk7ro1gkrAgBQFJQRPlt07C r3KN0ASkleDi7ZGEUsokU7JdeMUKIwNDGzS7lpCr7wylh9GTNgfv4s/5Y7qgwQf3WYDl7Uj lNcLPrfSGFQODMazU0QMw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:qRlH8Kf8SLw=:n/r1Y5VhLoVRdoGB5xKgPM 82yFiqH2IOmo9vb0NT823OagspGlbwe14+n7+H2jNQAL+O+6NMHn/3AMSqaFMt9f4kzE0kz7j ztX1Tl0SIY6hKEJ9NlfybN2CDMfOS3TEzhyjxo4+t0/lERuiL6HebHPB3d8wLUDIDZLfm/87l jGOEA7mkqCeSVj279mqTNU2culCfE6QEzvRaLxWgvIaCb6pjQF7W60o0v/TkANafb2sVdJKSB pXbgAuzJDhwedes5Q6zL94pIA89mxCr1sWv6iIt93JPsXPWl784H2KEXqqZUU2GsCG3yfOKgA tpNwXVUn8ypNtrVSQoEhJ3MKGxy8mp3wc/Vfy2Ixt2W1r23Z9ifwP6CZAoiVWr8UbQrQVyn4r iFHt6WUs6zRA0mQIRPwCp/Xmd0iVgQ1VJ+esQSDA5cl4vc7tTkwAJnNSsLr2PHjt2eyPlY2z+ t4RYMJlKLg== Received-SPF: none client-ip=212.227.17.10; envelope-from=andreas.roehler@HIDDEN; helo=mout.kundenserver.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 04:25:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, NICE_REPLY_A=-1.019, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -3.3 (---) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.3 (----) On 15.10.20 16:34, Herman, Geza wrote: > Sure! > > 1. execute emacs by "emacs -Q" > 2. M-x shell RET > 3. in the shell, execute "seq 100000" (or cat a large file) > 4. immediately after you hit enter on "seq 100000" press enter again > > It doesn't reproduce 100% unfortunately. It seems that if it doesn't > reproduce, you need to start from step 1., so it has a higher chance > to happen. > > Another strange thing is that enter can have the opposite effect as > well: if I press it during "seq 100000" several times (not immediately > after "seq 100000", but after ~1 sec), it can make seq slower. Instead > of the usual 3-4 sec, it slows down to >10 sec. > (I measured by "time seq 100000"). It seems that the more enter I > press, the slower it gets. But maybe it's a different issue. > > On 2020-10-15 16:10, Eli Zaretskii wrote: >>> From: Herman <at> debbugs.gnu.org, Géza <geza.herman@HIDDEN> >>> Date: Thu, 15 Oct 2020 11:53:16 +0200 >>> >>> I'm experiencing strange shell (comint) mode performance. If I cat a 10 >>> MB file, it takes 1:20 to cat it. Emacs uses only 30% cpu. But, if I >>> press enter after I send the cat command, it speeds up, and it only >>> takes 8 sec (emacs cpu usage goes up to 100%). >>> >>> Same thing: if I execute "seq 100000" in a small emacs window, it takes >>> ~3 seconds. But, if I press enter after executing seq, it takes only >>> 0.4 >>> sec (this is not 100% reproducible, sometimes pressing enter doesn't >>> make a difference). >>> (I executed comint-clear-buffer before measurements) >> Can you please describe a detailed reproduction recipe, starting from >> "emacs -Q"? It is not exactly clear from the above whether you do >> this in a shell-mode buffer or in some other mode, where exactly do >> you press Enter, etc. A detailed recipe will resolve all those >> unclear aspects. >> >> Thanks. > > > > Can't reproduce example "seq..." with GNU Emacs 28.0.50 (build 1, i686-pc-linux-gnu, GTK+ Version 3.14.5, cairo version 1.14.0) of 2020-06-10
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 16 Oct 2020 10:45:02 +0000 Resent-Message-ID: <handler.44007.B44007.16028450842695 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 44007 <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.16028450842695 (code B ref 44007); Fri, 16 Oct 2020 10:45:02 +0000 Received: (at 44007) by debbugs.gnu.org; 16 Oct 2020 10:44:44 +0000 Received: from localhost ([127.0.0.1]:57811 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kTNE3-0000hP-Uh for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 06:44:44 -0400 Received: from mail-ej1-f44.google.com ([209.85.218.44]:37921) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1kTNE1-0000hA-QJ for 44007 <at> debbugs.gnu.org; Fri, 16 Oct 2020 06:44:42 -0400 Received: by mail-ej1-f44.google.com with SMTP id ce10so2438391ejc.5 for <44007 <at> debbugs.gnu.org>; Fri, 16 Oct 2020 03:44:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=xFoIjQLYIP+6tS4b+XKZ+SImK/CpNtI1znKEJoz8gG0=; b=YDyXBkAyQeMRoGHBDFxW7QLLYXuJE3wDgBmIjbmbRkHMsJKhfAVZ9GsIO6iT9+9cYi uFzYQ3rt/5pE2BYB0O4pOotSRxiSyICVlSiE7QiS4skUFfgw1HbqFURkYpqiidkDMX5y jLm6oqSXR2L9nNhC8ZNsz1FAlUhFdR+LDYASk73JYCCFfwPxiib6a8HMo+UhaT50D9rK LvYuJ611vrQ82MAIUU9iodvBYAVRosu3bCqR1hjzbeofuyXg/w4uZ5mJtAJqexmedsO7 cYuzp9NO8cY0oXZxgs06Znt/H1qNUmIaiFd1jtgBnQZ9d2MfI/PHX5yrKp70+9hTP1Hk dK7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=xFoIjQLYIP+6tS4b+XKZ+SImK/CpNtI1znKEJoz8gG0=; b=ERGREL2KMkoAkX76LEKzwImdZz/HqCJLckaayVZLwYeVh9bkJ1nEkflI40xm+6fEXM yANlPDuocWogn7mgF4cJutWXljokPMR35I5Fw77STsAc6ZBt7VIV4OLJifbPJ7jwKrfw Gbbl09ZaLuk8sLaLuytl/CsHdpqu4SouTFqtyDR61jrZ/Q7E9iRITlQFP6a+5p6rbg70 w6tcOKlJTbeboHXCnGKGCGaAkMulcgn1vwmT0nLqBfVV/3SI379Eos2l+6kJpte5p3Gv 4q1ws14z6coXE7xPwcPQrtCRmxVNjTdyg0XTVN422pMuo32tavAGx6th64PrqVyv6PS9 aVSw== X-Gm-Message-State: AOAM5303qGuT1RZP8CY48HPgekUPGksL2GCFesYJQ2BcyfF63+w6579V SfifP+UwYj6ceEVVLia4QJH3qMxytEQ= X-Google-Smtp-Source: ABdhPJwKFD2SqD5+YUoiN5COY9resTmqq7H8/DogVXlVe057vUg38BetIGo8CZc4m8j2QlPWMVWtHQ== X-Received: by 2002:a17:906:e10e:: with SMTP id gj14mr3154029ejb.134.1602845075337; Fri, 16 Oct 2020 03:44:35 -0700 (PDT) Received: from [192.168.8.4] (netacc-gpn-34-232-185.pool.telenor.hu. [37.234.232.185]) by smtp.gmail.com with ESMTPSA id q12sm1122558edj.19.2020.10.16.03.44.33 for <44007 <at> debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Oct 2020 03:44:33 -0700 (PDT) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Message-ID: <3ed7855d-9c95-b56f-7abd-db2c6bd9647b@HIDDEN> Date: Fri, 16 Oct 2020 12:44:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <83imbby3yt.fsf@HIDDEN> Content-Type: multipart/mixed; boundary="------------1DAC5402C350C61017AC541A" Content-Language: sv-FI X-Spam-Score: -1.0 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.0 (--) This is a multi-part message in MIME format. --------------1DAC5402C350C61017AC541A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit It reproduces for me, both 26.3 and 28.0.50. And both for the X and console version (by console version, I mean the usual version, but with DISPLAY unset). I attached a text file (hopefully it gets through). cat-ing this file takes ~18 sec. But with enter, it takes just ~3 sec (these measurements are done with the console version). It behaves like this 100% of the time (it's a more reliable test than the "seq" test). And it also speeds up, if I don't press enter, but constantly move the mouse (using the X version). It seems that emacs waits for some kind of event here (hence the low cpu utilization). But if there's some event (mouse, or an unprocessed input), then it speeds up (and uses 100% cpu). --------------1DAC5402C350C61017AC541A Content-Type: application/x-xz; name="test.txt.xz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.txt.xz" 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 A7qDhAEAAADoFJyLFBc7MAMAAAAABFla --------------1DAC5402C350C61017AC541A--
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 16 Oct 2020 10:56:01 +0000 Resent-Message-ID: <handler.44007.B44007.16028457183822 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Herman <at> debbugs.gnu.org, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Cc: 44007 <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.16028457183822 (code B ref 44007); Fri, 16 Oct 2020 10:56:01 +0000 Received: (at 44007) by debbugs.gnu.org; 16 Oct 2020 10:55:18 +0000 Received: from localhost ([127.0.0.1]:57852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kTNOI-0000za-Ik for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 06:55:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39960) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1kTNOG-0000zK-Gc for 44007 <at> debbugs.gnu.org; Fri, 16 Oct 2020 06:55:17 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52660) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1kTNOB-0003G0-6M; Fri, 16 Oct 2020 06:55:11 -0400 Received: from [176.228.60.248] (port=4240 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <eliz@HIDDEN>) id 1kTNO5-0004jy-Pn; Fri, 16 Oct 2020 06:55:06 -0400 Date: Fri, 16 Oct 2020 13:55:02 +0300 Message-Id: <831rhywid5.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <3ed7855d-9c95-b56f-7abd-db2c6bd9647b@HIDDEN> (Herman <at> debbugs.gnu.org) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <3ed7855d-9c95-b56f-7abd-db2c6bd9647b@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Herman <at> debbugs.gnu.org, Géza <geza.herman@HIDDEN> > Date: Fri, 16 Oct 2020 12:44:32 +0200 > > It reproduces for me, both 26.3 and 28.0.50. And both for the X and > console version (by console version, I mean the usual version, but with > DISPLAY unset). > > I attached a text file (hopefully it gets through). > > cat-ing this file takes ~18 sec. But with enter, it takes just ~3 sec > (these measurements are done with the console version). It behaves like > this 100% of the time (it's a more reliable test than the "seq" test). Does it help to play with the value of process-adaptive-read-buffering? Or with read-process-output-max?
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 16 Oct 2020 12:24:02 +0000 Resent-Message-ID: <handler.44007.B44007.160285100121146 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 44007 <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.160285100121146 (code B ref 44007); Fri, 16 Oct 2020 12:24:02 +0000 Received: (at 44007) by debbugs.gnu.org; 16 Oct 2020 12:23:21 +0000 Received: from localhost ([127.0.0.1]:58001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kTOlV-0005V0-2q for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 08:23:21 -0400 Received: from mail-ej1-f47.google.com ([209.85.218.47]:43475) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1kTOlT-0005Um-Vm for 44007 <at> debbugs.gnu.org; Fri, 16 Oct 2020 08:23:20 -0400 Received: by mail-ej1-f47.google.com with SMTP id md26so2806946ejb.10 for <44007 <at> debbugs.gnu.org>; Fri, 16 Oct 2020 05:23:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=72yHy2BnVJDDx51sn8CMWXNKREUDZNumfT0ZpNp1CAQ=; b=sv8Me4XHltdGXU7fbs/3VB81uMGD6w56ggZMUfvKhgvUBpJOrlsSCUpmLIXh9SHtz9 5/d3s/uBxeFi2EXNpHrfjZnPLBwQgSLMu6L0MAKhKSpLjV2lmwEPPEGuQdznpE/j9cgy 13K4kx4vsVtlr3aTt88JfWRzrFIaKfdh6+ofc5Kt40ai5uHAWqUQ1TCkZYu3Ji/G/F+Y uhM111Ny7IyDKBJ5jTRClccLQ7z6JD2eLsmmRPGgqxrIMXDipc2088zOO/anD4zzL17s giNIZ9j7/LLwXLSNVHRTN17JAe4rthgyRZK2GKZIF8eTfdeby8EP+rnG5KfJNUK3S35i quXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=72yHy2BnVJDDx51sn8CMWXNKREUDZNumfT0ZpNp1CAQ=; b=GjlbTAasjkVME1fMBmaJeXtVbHEoRpahV7O+q/6CK+q6WZOfSNzRsPzzLB4KXCmYj9 ff9IxI9IXBRtkpDsRYS5W/ddCAgQFvnhqN1tYMesYIHqqhu1fn15m+Ub40T6KIwiYLLj nY6XVm0NK7SfvzAM+jXeYkRut3U8cjnxP5nDYWkg8fGWtViNAhlh1IZgkntlB1R9YcdU hJ43duFLaF48/7oCeZExB9eF6lgx5ISRxVPGOQBiU/XKyp27z8jazd1D9P3maww95275 A8mBXXOoUdDrgoZ3GV4wXAdpnG/kbkglwk47D4RXtZih5dxTB/QDXU2qz/XnofQrsO6p ZPjQ== X-Gm-Message-State: AOAM531A90PkVsRpmy6yqXnW/sOurASWQmubszwwxdPBWM0DElkQPUrp U+CpsrELQKi+jNVdBAl3uLw= X-Google-Smtp-Source: ABdhPJzcxzyleaOnRKmA+LtduB/zvMW7vRXr0g8y9YWn0mPKFLFEU8pmGVZ93myBqDWFD97tqLFScg== X-Received: by 2002:a17:906:2b85:: with SMTP id m5mr3544416ejg.143.1602850994052; Fri, 16 Oct 2020 05:23:14 -0700 (PDT) Received: from [192.168.8.4] (netacc-gpn-34-232-185.pool.telenor.hu. [37.234.232.185]) by smtp.gmail.com with ESMTPSA id b4sm1531835eja.3.2020.10.16.05.23.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Oct 2020 05:23:13 -0700 (PDT) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <3ed7855d-9c95-b56f-7abd-db2c6bd9647b@HIDDEN> <831rhywid5.fsf@HIDDEN> From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Message-ID: <b659deff-18db-a359-335e-7af7dfb91147@HIDDEN> Date: Fri, 16 Oct 2020 14:23:12 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <831rhywid5.fsf@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: sv-FI X-Spam-Score: -0.3 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.3 (-) > Does it help to play with the value of process-adaptive-read-buffering? > Or with read-process-output-max? It seems it doesn't. I tried all 4 combinations of read-process-output-max = 4096/1 MB and process-adaptive-read-buffering = nil/t, emacs behaves the same.
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 17 Oct 2020 12:49:01 +0000 Resent-Message-ID: <handler.44007.B44007.160293889227379 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 44007 <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.160293889227379 (code B ref 44007); Sat, 17 Oct 2020 12:49:01 +0000 Received: (at 44007) by debbugs.gnu.org; 17 Oct 2020 12:48:12 +0000 Received: from localhost ([127.0.0.1]:33653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kTld6-00077X-J6 for submit <at> debbugs.gnu.org; Sat, 17 Oct 2020 08:48:12 -0400 Received: from mail-ed1-f51.google.com ([209.85.208.51]:44089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1kTld4-00077L-Nl for 44007 <at> debbugs.gnu.org; Sat, 17 Oct 2020 08:48:11 -0400 Received: by mail-ed1-f51.google.com with SMTP id t20so5477484edr.11 for <44007 <at> debbugs.gnu.org>; Sat, 17 Oct 2020 05:48:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=H6xygnv5OjWorMGhVWet4I/u04FpDacR3iCvSfIJZf4=; b=ltcgAkpVRDkhCSHRdeZUUG1YtDybmrf6yiIBbsH3w+HqGac+9WfXDXVn0Qh1pO+87S eN9nnZ1vyFsgARpGBiNHSjW5u/9sDfTFxtU3CA84NNha06H4LyX3wZMvWz4ok/mSQQVw 85NQyB74JQJEPfk1mX/eBhPzHxGgFhZE4D6sNYK7OC3A9dAWwe1ogdEG2o4SorcYQ+bC D8rruyCHs0lNXR3AWHJvfo4nGz/d87NCriZ+T1bRgkKEHlkdWvTa50vqSZ+2SiixpzhL 65wT29lUoC64LhDxyUPDlqQf32HjEFPSWj2R2/8Jg+JH/6f2agwFQ+OmF16P4nalwQTh bXhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=H6xygnv5OjWorMGhVWet4I/u04FpDacR3iCvSfIJZf4=; b=RrgdJSFZWtiVfuk34P3/O3Ij4EhIeR7w4kRvM5fh7qOX9SoAFfPi8HVW8qj5UaRKcl 7RUQ6cPoF0dBAE8/VkBiy+QDMZm59n5sIvOHJK0WvJ6AUt1pHH7mEpA5ocscwoqV6p8P nf3Dk1X9fdweolO7ArAgAJndvZH7MatkZQb8vc8IkHaOb4/yxu4dPO/hHwEUC702DD0I 7zEtVZXjlI29UChvIQbIiXuONA0IN9d+TawX9XxRj7mJlx1HDtoGKyBJ7dcwPxrrizgn Yj4OBs007t4nhsTA2PPQ3ho5kKNdI30MNgw35fXvcKHxYLT77VM7EJtl7EHSAqAtBbjQ PS7Q== X-Gm-Message-State: AOAM532mKhgDffDcCFErAOHRCAHjlNnTpKdw0EF5rFDuWeKIlOPI1YMX wB7roBY2St10gMsOccBn2VI= X-Google-Smtp-Source: ABdhPJxe8atClLpn767KNwfaxRW5WSGJo6ZJAope1oCvGiWlEh2ZOBmximGC4sewobK7+MSkqT7EwQ== X-Received: by 2002:aa7:ca52:: with SMTP id j18mr8754955edt.147.1602938884786; Sat, 17 Oct 2020 05:48:04 -0700 (PDT) Received: from [192.168.8.4] (netacc-gpn-34-232-185.pool.telenor.hu. [37.234.232.185]) by smtp.gmail.com with ESMTPSA id i23sm4955796eja.66.2020.10.17.05.48.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 17 Oct 2020 05:48:04 -0700 (PDT) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Message-ID: <0485c260-b541-1dbd-f036-d2c80cf00c28@HIDDEN> Date: Sat, 17 Oct 2020 14:48:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <83imbby3yt.fsf@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: sv-FI X-Spam-Score: -0.2 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.2 (-) I've debugged the issue a little bit, and the cause of it is process-adaptive-read-buffering indeed. I misused this variable before: I tried to set it to nil before executing "cat", but it needs to be set before "M-x shell". Setting it to nil completely fixes the issue. If its value is "t", my "cat test.txt" runs in 18 sec. Setting it to "nil", cat runs in ~2 sec. Looking at the logic which does adaptive reading, I see why it can be suboptimal. If a process sends less than 256 bytes at first, then delay is increased, and it will be decreased only if the process can send bytes which completely fills the buffer. But this may never be true (because some other part of the system already throttles the process, because emacs didn't read enough from it - I suppose this can depend on the value read-process-output-max). The issue can be made less severe by modifying emacs_intr_read to read as much as data fit into the buffer (execute read() until it reports failure/EOF). It solves the issue completely for me, if read-process-output-max is 4096. If it's 1MB, this modification makes the issue less severe: "cat test.txt" runs in 6 sec. Here's the modification I did to emacs_intr_read, put this after the do/while loop: if (result > 0) { for (;;) { ssize_t r = read(fd, buf+result, nbyte-result); if (r<=0) break; if (interruptible) maybe_quit(); result += r; } } (I'm not saying that this is the correct solution, I put this here so you can repro my results) The reason that it's needed that read() returns 4095 for some reason, even though nbyte is 4096. An additional read() call will provide the missing 1 byte. As far as I know, this is a valid and allowed, yet strange behavior. I'm not sure what causes it. I think that the logic around decreasing the delay is not good. The current "decrease delay when buffer is full" is a fragile condition. To me, it seems logical to clear/decrease delay if more than 256 bytes arrived. It may not be 100% optimal, but it's near to it. On the other hand, the current behavior can cause severe performance problems for fast streams. Having read-process-output-max a large value is essential: "cat test.txt" runs in 0.3 sec, when this value is 1MB (adaptive is turned off). If read-process-output-max is 4K, it runs in 1.4 sec (adaptive is turned off).
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Lars Ingebrigtsen <larsi@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 28 Jan 2022 15:27:02 +0000 Resent-Message-ID: <handler.44007.B44007.164338361219906 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Herman, Geza" <geza.herman@HIDDEN> Cc: 44007 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Herman <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.164338361219906 (code B ref 44007); Fri, 28 Jan 2022 15:27:02 +0000 Received: (at 44007) by debbugs.gnu.org; 28 Jan 2022 15:26:52 +0000 Received: from localhost ([127.0.0.1]:60220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nDT9I-0005B0-8b for submit <at> debbugs.gnu.org; Fri, 28 Jan 2022 10:26:52 -0500 Received: from quimby.gnus.org ([95.216.78.240]:43068) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1nDT9G-0005Ai-G9 for 44007 <at> debbugs.gnu.org; Fri, 28 Jan 2022 10:26:50 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=mKYcGrPQXajdFD/Hi8iT/KmuBodG6qZRem01nv+6PnM=; b=EOXj3xRnl6wStSNTwStO8L1mpS i3hrVV1/qWZRvVQdoDBxWjcmzSAAqevf5esjG1502FM8PgefXXKGuni/F5Fd6YQ5Ba4KJXKPA3+xg XrleWVxsjo2wkEsKZiUwYUPh7Y55mk1RkhvTYhb6AraiAOoEngnb0YXbzwPo+g4oNi4U=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1nDT96-0003iM-Ru; Fri, 28 Jan 2022 16:26:43 +0100 From: Lars Ingebrigtsen <larsi@HIDDEN> References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> X-Now-Playing: Phew's _Phew_: "P-Adic" Date: Fri, 28 Jan 2022 16:26:40 +0100 In-Reply-To: <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> (Geza Herman's message of "Thu, 15 Oct 2020 16:34:37 +0200") Message-ID: <87czkbg9u7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: "Herman, Geza" <geza.herman@HIDDEN> writes: > 1. execute emacs by "emacs -Q" > 2. M-x shell RET > 3. in the shell, execute "seq 100000" (or cat a large file) > 4. immediately after you hit enter on "seq 100000" press enter again Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) "Herman, Geza" <geza.herman@HIDDEN> writes: > 1. execute emacs by "emacs -Q" > 2. M-x shell RET > 3. in the shell, execute "seq 100000" (or cat a large file) > 4. immediately after you hit enter on "seq 100000" press enter again (I'm going through old bug reports that unfortunately weren't resolved at the time.) I was unable to reproduce this issue, either with or without (setq process-adaptive-read-buffering nil) before `M-x shell'. Are you still seeing this issue in more recent versions of Emacs? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Received: (at control) by debbugs.gnu.org; 28 Jan 2022 15:26:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 28 10:26:56 2022 Received: from localhost ([127.0.0.1]:60223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nDT9M-0005BK-Es for submit <at> debbugs.gnu.org; Fri, 28 Jan 2022 10:26:56 -0500 Received: from quimby.gnus.org ([95.216.78.240]:43082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1nDT9J-0005Am-P1 for control <at> debbugs.gnu.org; Fri, 28 Jan 2022 10:26:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=NG+9N62Zo0ktLIoIbqZnQcgt6WDUo7hs8QOc5QEIrtA=; b=dksWT3rUjh+lforOX1RUx+ss2a 83OQUsjQKfnLdtE9va9vdBCgWQGJ+QwOYPW5HEsblD7vME47UgWMr34AhMbN/WR20Ynli7MOmCbAM 6cKlVQ4Pr1E6NX+GZOW2EdQkhsRh9uByU3X1uSaZaiiKkm8HgC5ioLLIQFc1PJuC7Yas=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1nDT9B-0003iT-SO for control <at> debbugs.gnu.org; Fri, 28 Jan 2022 16:26:48 +0100 Date: Fri, 28 Jan 2022 16:26:45 +0100 Message-Id: <87bkzvg9u2.fsf@HIDDEN> To: control <at> debbugs.gnu.org From: Lars Ingebrigtsen <larsi@HIDDEN> Subject: control message for bug #44007 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 44007 + moreinfo quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) tags 44007 + moreinfo quit
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 28 Jan 2022 22:34:02 +0000 Resent-Message-ID: <handler.44007.B44007.164340923712369 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Lars Ingebrigtsen <larsi@HIDDEN> Cc: 44007 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Herman <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.164340923712369 (code B ref 44007); Fri, 28 Jan 2022 22:34:02 +0000 Received: (at 44007) by debbugs.gnu.org; 28 Jan 2022 22:33:57 +0000 Received: from localhost ([127.0.0.1]:60668 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nDZob-0003DR-1b for submit <at> debbugs.gnu.org; Fri, 28 Jan 2022 17:33:57 -0500 Received: from mail-ed1-f42.google.com ([209.85.208.42]:38445) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1nDZoZ-0003DF-AJ for 44007 <at> debbugs.gnu.org; Fri, 28 Jan 2022 17:33:55 -0500 Received: by mail-ed1-f42.google.com with SMTP id j23so12677059edp.5; Fri, 28 Jan 2022 14:33:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=lbm4anPMBIYH4grGPLAA7wq16w2cmQtvfvg+cE8Po/A=; b=e/qVnY8cEo1eK/kGpSV+7wd87bKefCAIcCjczKMr6YZcB9uHAjAs8ZViqggwlF5bB8 2LbYC0C/uS1vkl6DBWnZhKVw1apm8C3UlIlSW+fYouwQ8ovPQBEfv73dvO0Ici3AkCsa WRXaRgN44mNGFUDh7Px7dfOjeUS7V9wt4acpz05HBx5mocQTH5beF54+VcXMI1TffA3W 6J9vcn+jeT0BEBkCHsdq0nC+6rKyBO3a3O9cO7sQSOoL/EPpYYRlCupbEHDOPT+6T/Mq TLyjSuVxbpDXgFtRV1Cam3W/cy0HOG4xoWFDun1hMDbsXMINIVO6a7qQ8Z8+XHh0K/wn e13w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=lbm4anPMBIYH4grGPLAA7wq16w2cmQtvfvg+cE8Po/A=; b=MkeIVBXcQaWDKhnsxlOlE+FEgNHPWF5YdwKw9MQvBXBFoLozH++yyAGmlLadBdNUzW HSPldYVLU2B2G3J9EitoamkoPeOTIPw9xUcWyf3vTg+nSFssAIMHC+bFJPcEVJtwjlIT GWm+wvccwLYWQfIFLhQMdV+aAGIzZ6z3/Ii9lybwVYcGPuyontgkmaZv7to4aT7wa+07 WpbSE64/mhJ5/PJJYhSP7a55Xkz3rSJS7qus2Rw/IPGCq/EiZ+RhrNZ52OVwkYi9PqG6 e7/XgxROuCNigNXbJQvXihY2Nuu/p4fgWrfq+K5ZNcbY84s/XiomJ+k5isZnz8hmoFPv Zs5w== X-Gm-Message-State: AOAM530eTOCHrZaD786raZOjNcuphyV7y9vtp2QDXW1QXPF9sF+jIgDc JPFuAVgjpDfSb2nrPMIoOpg= X-Google-Smtp-Source: ABdhPJzuzy/n2Y7EDU0E/db2v1GdLb1WmNLkNNDiROpPjAWxkeG7ScKJ/xaVoXSSVhbBCj36sJD+ew== X-Received: by 2002:a05:6402:438d:: with SMTP id o13mr10159371edc.258.1643409229193; Fri, 28 Jan 2022 14:33:49 -0800 (PST) Received: from [192.168.8.4] (netacc-gpn-7-193-112.pool.telenor.hu. [176.77.193.112]) by smtp.gmail.com with ESMTPSA id bv2sm10409215ejb.154.2022.01.28.14.33.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Jan 2022 14:33:48 -0800 (PST) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> <87czkbg9u7.fsf@HIDDEN> From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Message-ID: <ae78c410-3232-ee38-84d0-7bfde16a1cc8@HIDDEN> Date: Fri, 28 Jan 2022 23:33:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <87czkbg9u7.fsf@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: sv-FI X-Spam-Score: -1.1 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.1 (--) Yes, it still happens on current master for me. By default, "seq 100000" takes ~3 sec. Pressing enter immediately after executing the seq can make seq to take ~0.4 sec. Or if press enter during "seq" several times, time can easily increase to >20 sec (this issue seems to be related to bidi-paragraph-direction. If I set it to left-to-right, this doesn't happen anymore - I've no idea why it matters). How much time does "seq 100000" take for you? Does it use 100% cpu? Maybe the OS matters here (how the read() syscall behaves): I'm on debian linux (sid). On 2022-01-28 16:26, Lars Ingebrigtsen wrote: > "Herman, Geza" <geza.herman@HIDDEN> writes: > >> 1. execute emacs by "emacs -Q" >> 2. M-x shell RET >> 3. in the shell, execute "seq 100000" (or cat a large file) >> 4. immediately after you hit enter on "seq 100000" press enter again > (I'm going through old bug reports that unfortunately weren't resolved > at the time.) > > I was unable to reproduce this issue, either with or without > > (setq process-adaptive-read-buffering nil) > > before `M-x shell'. Are you still seeing this issue in more recent > versions of Emacs? >
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 29 Jan 2022 06:53:02 +0000 Resent-Message-ID: <handler.44007.B44007.164343917423384 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Cc: 44007 <at> debbugs.gnu.org, larsi@HIDDEN, Herman <at> debbugs.gnu.org Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.164343917423384 (code B ref 44007); Sat, 29 Jan 2022 06:53:02 +0000 Received: (at 44007) by debbugs.gnu.org; 29 Jan 2022 06:52:54 +0000 Received: from localhost ([127.0.0.1]:60894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nDhbS-000656-J6 for submit <at> debbugs.gnu.org; Sat, 29 Jan 2022 01:52:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42060) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1nDhbR-00064u-CF for 44007 <at> debbugs.gnu.org; Sat, 29 Jan 2022 01:52:53 -0500 Received: from [2001:470:142:3::e] (port=41212 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 <eliz@HIDDEN>) id 1nDhbC-0002Tn-TV; Sat, 29 Jan 2022 01:52:43 -0500 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=wbQe+r5H/hwxYk+5kKQmwgW3LM1YvIp/C7kGgVr4Em0=; b=hO408o/oS4PSQ0rYmgIZ IF3Hfhhm0UQFAP6m1YpcMWb/XZPZ41KYkSWZAPlGdyJBkPTDifz21T1I6oDwYcrLjQn5RrztAeSsX 73ZqO6Se4Z/kM8eaAGsLrqu/MRkwUASTG4f/t8Wa1DCo3lnfe6pAEMc5wPS6r8oW8+T0mCrcyM6oM RW2QHvPP91X41wyMFT+M25+1oWCwPbmc4ENin1J64MsgyiikqpFUtPndjA2hXQp95acUAuOUr5/Mr 7D2yy+0s28o7R9WzbbuTOe5lTmN9X2oGYV6UUmQqYks6BNsLrXNVq8Jgi4JEz5Bv4vdZhtXHJTTHc d0KbuqT1vqLMZQ==; Received: from [87.69.77.57] (port=3134 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1nDhb8-0006tC-R5; Sat, 29 Jan 2022 01:52:36 -0500 Date: Sat, 29 Jan 2022 08:52:25 +0200 Message-Id: <83wnijav9y.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <ae78c410-3232-ee38-84d0-7bfde16a1cc8@HIDDEN> (message from Herman, =?UTF-8?Q?G=C3=A9za?= on Fri, 28 Jan 2022 23:33:47 +0100) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> <87czkbg9u7.fsf@HIDDEN> <ae78c410-3232-ee38-84d0-7bfde16a1cc8@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: Eli Zaretskii <eliz@HIDDEN>, Herman <at> debbugs.gnu.org, > 44007 <at> debbugs.gnu.org > From: Herman, Géza <geza.herman@HIDDEN> > Date: Fri, 28 Jan 2022 23:33:47 +0100 > > Yes, it still happens on current master for me. > > By default, "seq 100000" takes ~3 sec. Pressing enter immediately after > executing the seq can make seq to take ~0.4 sec. Or if press enter > during "seq" several times, time can easily increase to >20 sec (this > issue seems to be related to bidi-paragraph-direction. If I set it to > left-to-right, this doesn't happen anymore - I've no idea why it matters). If setting bidi-paragraph-direction to left-to-right fixes the slowdown, then this is expected and not a bug. When bidi-paragraph-direction is nil, Emacs needs to determine the paragraph direction from the strong directional characters in the preceding paragraph of text, but "seq 100000" produces a long paragraph that has no strong directional characters at all (digits have "weak" directionality).
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Lars Ingebrigtsen <larsi@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 29 Jan 2022 14:39:01 +0000 Resent-Message-ID: <handler.44007.B44007.164346709324020 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Cc: 44007 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.164346709324020 (code B ref 44007); Sat, 29 Jan 2022 14:39:01 +0000 Received: (at 44007) by debbugs.gnu.org; 29 Jan 2022 14:38:13 +0000 Received: from localhost ([127.0.0.1]:32972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nDork-0006FM-P5 for submit <at> debbugs.gnu.org; Sat, 29 Jan 2022 09:38:12 -0500 Received: from quimby.gnus.org ([95.216.78.240]:53118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1nDorj-0006F5-Er for 44007 <at> debbugs.gnu.org; Sat, 29 Jan 2022 09:38:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=2kF01glgkEniYgWBoehBZsrx/GSAVFUxcQksrpcMVxI=; b=kOCXKZz3WhzqHCOWkY7OcTCChs uIveTzQ5WBT/eIneE4mATb0M+WHuYp8FSdSMVKnm68T4Eem2Eud0XhUj4F5/W+moNyxb+HH2VZbqb ZqpKKzYcJ9BmM+RuOatMS2fF9B8+c5n6tx+zH7YpiqttOpcr24zx/BmrGk7skcHQ9org=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1nDora-0003YT-Lc; Sat, 29 Jan 2022 15:38:05 +0100 From: Lars Ingebrigtsen <larsi@HIDDEN> References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> <87czkbg9u7.fsf@HIDDEN> <ae78c410-3232-ee38-84d0-7bfde16a1cc8@HIDDEN> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEU1MzOVgnXGwb7/ //9KtDuHAAAAAWJLR0QDEQxM8gAAAAd0SU1FB+YBHQ4eEFCy9nwAAAF0SURBVCjPVdKxbtswEAbg X4LJgVuKOCg8dwjyFJSBeOgkAz4NmrooQPgUjoF0Vo26g6cMpCHeU+aOcgxUkz795I8TJWBJLb4u ov/QxRt+oZ5QBU6BGVGSb2+CXhDGVdz6wLmgsdNS0SnccTKmvybuGGF7DiXZrGOLfl72sndxB8dp tyS85DBBkAmEbnQFXNCsY8GpHdBpG1aC+y88cWp2UtBsCnIje8jbCYvA53cMoBjmPe+VtPlr9R8S VOvcKhqFO0xbX5IdyP2ezLzsGReP16ag8lKAx1LwJuAVa9uF5QLL9CUp0AlgrwnsdEvyiWfoiV72 P+Mt6RaHGf8E/fdj9Hogeoj94pC3rdwNNID3LrcVMaf2LzKF3NZnAX6AK5ZE9iTcg0c7v9wonzG9 1nKyCmOQZLY7GOKLfwBvQqxgEye/RHq2MoHtwwiDD1/HypsT76Vg0J/Cuy5p2wdqHTQkr9XUyTPX Z0UXdIGls+6hkOSvMgWfJVnGkipgUgAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDEtMjlUMTQ6 MzA6MTUrMDA6MDCmr3PrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAxLTI5VDE0OjMwOjE1KzAw OjAw1/LLVwAAAABJRU5ErkJggg== X-Now-Playing: Frankie Goes To Hollywood's _Liverpool_: "For Heaven's Sake" Date: Sat, 29 Jan 2022 15:38:00 +0100 In-Reply-To: <ae78c410-3232-ee38-84d0-7bfde16a1cc8@HIDDEN> ("Herman, =?UTF-8?Q?G=C3=A9za?="'s message of "Fri, 28 Jan 2022 23:33:47 +0100") Message-ID: <87k0eid2uv.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: "Herman, =?UTF-8?Q?G=C3=A9za?=" <geza.herman@HIDDEN> writes: > How much time does "seq 100000" take for you? Does it use 100% cpu? emacs -Q M-x shell seq 100000 Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) "Herman, G=C3=A9za" <geza.herman@HIDDEN> writes: > How much time does "seq 100000" take for you? Does it use 100% cpu? emacs -Q M-x shell seq 100000 takes very little time for me -- perhaps 0.2s? If I add a zero, it takes about five seconds, but hitting RET in the middle doesn't affect the speed. > Maybe the OS matters here (how the read() syscall behaves): I'm on > debian linux (sid). I'm on Debian/bookworm...=20 --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
X-Loop: help-debbugs@HIDDEN Subject: bug#44007: 26.3; Strange shell mode performance Resent-From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 29 Jan 2022 16:11:01 +0000 Resent-Message-ID: <handler.44007.B44007.164347265713674 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 44007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Lars Ingebrigtsen <larsi@HIDDEN> Cc: 44007 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> Received: via spool by 44007-submit <at> debbugs.gnu.org id=B44007.164347265713674 (code B ref 44007); Sat, 29 Jan 2022 16:11:01 +0000 Received: (at 44007) by debbugs.gnu.org; 29 Jan 2022 16:10:57 +0000 Received: from localhost ([127.0.0.1]:34542 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nDqJV-0003YU-I3 for submit <at> debbugs.gnu.org; Sat, 29 Jan 2022 11:10:57 -0500 Received: from mail-ej1-f49.google.com ([209.85.218.49]:40575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geza.herman@HIDDEN>) id 1nDqJT-0003YC-V5 for 44007 <at> debbugs.gnu.org; Sat, 29 Jan 2022 11:10:56 -0500 Received: by mail-ej1-f49.google.com with SMTP id p15so27045164ejc.7 for <44007 <at> debbugs.gnu.org>; Sat, 29 Jan 2022 08:10:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=xxkJH6fZkbng4AhGDaXVIK2QRlOJP6StS14HVdSQ5/M=; b=lmPIy8SWUYaZSJZpojR0VB+MI9UgHt5wyd3tZo1uLXp8swhrVF/juUwb91Vqio30hj U5+HALM+JYvYyrs8QAXH4I5SG4QCYeEm6yU5KYIJvlFxDaaLzreNFSg1/NJ1LDDw1CAD DSE2pNfdIEIp+9Dp2ljg8y4Drm2462XVBT+waYCxlIbaba959WWAqTQn2jPwKvDQNBD6 gJ5auO/Yh0crwviveImgsdJxdfOFophLm1npH08sWhJr3sTjLRl/SiX4fspfoLreazDi D1B06ONERaF5z8EMTWRCJbuoSp8Yuii1g3MShilMcOa3L3HFl+iwnrocpIgnaFsaZMjA Jnug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=xxkJH6fZkbng4AhGDaXVIK2QRlOJP6StS14HVdSQ5/M=; b=f2jL9C6s8JzVAqqCyp/d/DR7CNKfIZaWdKbdeW42m4nByILST8g43HsuhHO1vgf7kW 7aLNfJpnASrOFvIqj9PXgqJlkHhvy54pyQvN4DluotQ9bSpiz6czhpuueHgOz5K39YMF 1ECbfi2iKQtn+v8OXp01M/ICABMhswmxWFVZEQcoxoUCC8Uo1+MXX49zNwKu+BCzmfp+ k5SWH2AYsnYrXw+F3HvQpOpL0ka6KOX4T7U0Rnl9jTSNXvLwdL/SWYM0TKH9sRxBmAAw z/jKnkMX/llTueWWWC5ReX54mgXeS16xuvNjD0kdcBRDOShfpqDosOD/pVcWKvpXf7cH fx/A== X-Gm-Message-State: AOAM533KiwwRG+JOx8iQ8+zAGmU/ADptXAAADohOOa35bJj5DS8RMLnu x6H1J+Voyu1Quzy2L/zIy0U= X-Google-Smtp-Source: ABdhPJz2rCjN19J6vwWGTCl2IiELRsKWZQSII3gQpJrWJj97zG9h62ENOMpVqNRLddIB5Rl5H1lvZQ== X-Received: by 2002:a17:907:3da2:: with SMTP id he34mr11766447ejc.595.1643472650012; Sat, 29 Jan 2022 08:10:50 -0800 (PST) Received: from [192.168.8.4] (netacc-gpn-7-193-112.pool.telenor.hu. [176.77.193.112]) by smtp.gmail.com with ESMTPSA id kw5sm3855086ejc.140.2022.01.29.08.10.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 29 Jan 2022 08:10:49 -0800 (PST) References: <499ab53f-7c23-b5ed-6105-3072fffb4bfe@HIDDEN> <83imbby3yt.fsf@HIDDEN> <fcecd33f-55d1-bbe4-6d43-8a0d42798b86@HIDDEN> <87czkbg9u7.fsf@HIDDEN> <ae78c410-3232-ee38-84d0-7bfde16a1cc8@HIDDEN> <87k0eid2uv.fsf@HIDDEN> From: Herman, =?UTF-8?Q?G=C3=A9za?= <geza.herman@HIDDEN> Message-ID: <831e0891-8344-8cae-e0be-5a4c78c2c01c@HIDDEN> Date: Sat, 29 Jan 2022 17:10:48 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <87k0eid2uv.fsf@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: sv-FI X-Spam-Score: -1.1 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.1 (--) It's already fast on your machine, so that's why pressing RET doesn't make a difference. I tried this on a mac with Emacs 27, and it's easily reproduceable (easier than on linux). It seems that on mac, the exact timing of the extra RET doesn't matter. Even if it's halfway printing the numbers, pressing RET speeds up the remaining part. On linux, I have to press RET immediately after executing the command, otherwise it doesn't become faster. But I've found something right now: this issue is dependent on the shell. With zsh, this happens. With bash, it doesn't. Weird. So it seems that zsh sets something which makes this issue to appear. Nevertheless, I think emacs_intr_read() is not ideal, it should handle the case if multiple read() calls needed to gather all the available data (I've been using emacs with my hacky patch for more than a year, I didn't notice any problems with it). On 2022-01-29 15:38, Lars Ingebrigtsen wrote: > "Herman, Géza" <geza.herman@HIDDEN> writes: > >> How much time does "seq 100000" take for you? Does it use 100% cpu? > emacs -Q > M-x shell > seq 100000 > > takes very little time for me -- perhaps 0.2s? > > If I add a zero, it takes about five seconds, but hitting RET in the > middle doesn't affect the speed. > >> Maybe the OS matters here (how the read() syscall behaves): I'm on >> debian linux (sid). > I'm on Debian/bookworm... >
Received: (at control) by debbugs.gnu.org; 28 Feb 2022 09:52:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 28 04:52:53 2022 Received: from localhost ([127.0.0.1]:60114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nOci5-0007w3-FL for submit <at> debbugs.gnu.org; Mon, 28 Feb 2022 04:52:53 -0500 Received: from quimby.gnus.org ([95.216.78.240]:35058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1nOci3-0007vo-MZ for control <at> debbugs.gnu.org; Mon, 28 Feb 2022 04:52:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=blr2tQaJ4nXopqQjRuNn9Qzhbhw0/8EKNVT/qYwkhwM=; b=gAk/trhyy6plL/LkqL5dhhXFfO CkvXe+BJhQcCBDL03ilANy26tvo+prcpjfUTU/YvwIn0ouInTEvNzavXxTZRn9NxWQLqbXFrqr7SY SfusB4MBMFB26wnKkSsuYgqhIXWtlGIOYp+b+k/venHXD0biMwIQ+nONLK44VcQ3sCoU=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1nOchv-00067m-U1 for control <at> debbugs.gnu.org; Mon, 28 Feb 2022 10:52:46 +0100 Date: Mon, 28 Feb 2022 10:52:43 +0100 Message-Id: <87mtibpbbo.fsf@HIDDEN> To: control <at> debbugs.gnu.org From: Lars Ingebrigtsen <larsi@HIDDEN> Subject: control message for bug #44007 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 44007 - moreinfo quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) tags 44007 - moreinfo quit
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.