From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#20154: 25.0.50; json-encode-string is too slow for large strings Date: Sun, 22 Mar 2015 20:32:38 +0200 Message-ID: <83bnjksx15.fsf@gnu.org> References: <86twxf68zk.fsf@yandex.ru> <83384zwxdx.fsf@gnu.org> <550C3218.4000903@yandex.ru> <831tkjww0y.fsf@gnu.org> <550C3AB9.7020403@yandex.ru> <83wq2bveq6.fsf@gnu.org> <550C491A.6000909@yandex.ru> <83siczvcss.fsf@gnu.org> <550C504A.10708@yandex.ru> <83r3sjva0q.fsf@gnu.org> <550C6A06.6040203@yandex.ru> <83fv8zv0b1.fsf@gnu.org> <550C990B.8080505@yandex.ru> <838ueqvl1o.fsf@gnu.org> <550DCDEE.4090900@yandex.ru> <83zj76rtbn.fsf@gnu.org> <550DE1FB.2060409@yandex.ru> <83r3shrlar.fsf@gnu.org> <550F095D.8050007@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1427049276 1646 80.91.229.3 (22 Mar 2015 18:34:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 22 Mar 2015 18:34:36 +0000 (UTC) Cc: 20154@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Mar 22 19:34:20 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YZkhU-000724-Et for geb-bug-gnu-emacs@m.gmane.org; Sun, 22 Mar 2015 19:34:16 +0100 Original-Received: from localhost ([::1]:52041 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZkhO-0008AL-MW for geb-bug-gnu-emacs@m.gmane.org; Sun, 22 Mar 2015 14:34:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53728) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZkhL-0008AF-Ge for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 14:34:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YZkhG-0006mY-GZ for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 14:34:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42915) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZkhG-0006mS-Dm for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 14:34:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YZkhF-0006ni-PW for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 14:34:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Mar 2015 18:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20154 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20154-submit@debbugs.gnu.org id=B20154.142704918426075 (code B ref 20154); Sun, 22 Mar 2015 18:34:01 +0000 Original-Received: (at 20154) by debbugs.gnu.org; 22 Mar 2015 18:33:04 +0000 Original-Received: from localhost ([127.0.0.1]:60924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YZkgJ-0006mV-NR for submit@debbugs.gnu.org; Sun, 22 Mar 2015 14:33:03 -0400 Original-Received: from mtaout24.012.net.il ([80.179.55.180]:60270) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YZkgH-0006ly-8o for 20154@debbugs.gnu.org; Sun, 22 Mar 2015 14:33:02 -0400 Original-Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NLM00300LIRSS00@mtaout24.012.net.il> for 20154@debbugs.gnu.org; Sun, 22 Mar 2015 20:25:13 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NLM00NH6LU18Z60@mtaout24.012.net.il>; Sun, 22 Mar 2015 20:25:13 +0200 (IST) In-reply-to: <550F095D.8050007@yandex.ru> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:100805 Archived-At: > Date: Sun, 22 Mar 2015 20:26:37 +0200 > From: Dmitry Gutov > CC: 20154@debbugs.gnu.org > > The question of "why encode everything again" comes to down programmer's > convenience, and not re-implementing parts of the JSON encoder. > > At least until `json-encode' has a way to pass an already-encoded string > verbatim, how else would you encode an alist like > > `(("file_data" . > ((,full-path . (("contents" . ,file-contents) > ("filetypes" . ,file-types))))) > ("filepath" . ,full-path) > ("line_num" . ,line-num) > ("column_num" . ,column-num)) > > to JSON, except by encoding everything again? Caveat: I'm probably missing something simple here, so excuse in advance for asking stupid questions. You said you need to encode everything on every keystroke, so I was wondering why you couldn't encode just the new keystroke, and append the result to what you already encoded earlier. Then send everything to the server, as it expects. The problem is in encoding, not in sending.