From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: Re: 'struct window' cleanup #2 Date: Mon, 25 Jun 2012 18:42:31 +0400 Message-ID: <4FE878D7.8040907@yandex.ru> References: <4FE827B6.6020306@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1340635219 10479 80.91.229.3 (25 Jun 2012 14:40:19 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 25 Jun 2012 14:40:19 +0000 (UTC) Cc: Emacs development discussions To: John Wiegley Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 25 16:40:18 2012 Return-path: Envelope-to: ged-emacs-devel@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 1SjASf-0005jX-0N for ged-emacs-devel@m.gmane.org; Mon, 25 Jun 2012 16:40:17 +0200 Original-Received: from localhost ([::1]:42341 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjASe-0007Fp-MK for ged-emacs-devel@m.gmane.org; Mon, 25 Jun 2012 10:40:16 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57598) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjASc-0007Ff-As for emacs-devel@gnu.org; Mon, 25 Jun 2012 10:40:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SjASZ-0001Gf-N0 for emacs-devel@gnu.org; Mon, 25 Jun 2012 10:40:13 -0400 Original-Received: from forward1.mail.yandex.net ([77.88.46.6]:45137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjASZ-0001GP-9c for emacs-devel@gnu.org; Mon, 25 Jun 2012 10:40:11 -0400 Original-Received: from smtp1.mail.yandex.net (smtp1.mail.yandex.net [77.88.46.101]) by forward1.mail.yandex.net (Yandex) with ESMTP id 72D16124174E; Mon, 25 Jun 2012 18:40:07 +0400 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1340635207; bh=/GCOyiirCfrlO2Ybr8/hxqiDVhBm444MO/PP3eHyIlA=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Ovg6RFuuD3kUdv8QYF33PI68mvQ2eEP9QwbNqTPDR5faPJP4VNC6nBajYgyQlucM1 wwLLsEmyl4mXHI/rrqc1fbn7PIeKeRABP5jH/0X/bGqV3grrON31fcSModOtjjVoco qbQx7uFZfxgwO71eH4PuOg8xK8yYxoda5h7nFj6I= Original-Received: from smtp1.mail.yandex.net (localhost [127.0.0.1]) by smtp1.mail.yandex.net (Yandex) with ESMTP id 50AFDAA0553; Mon, 25 Jun 2012 18:40:07 +0400 (MSK) Original-Received: from 213-148-21-55.gelicon.ru (213-148-21-55.gelicon.ru [213.148.21.55]) by smtp1.mail.yandex.net (nwsmtp/Yandex) with ESMTP id e6Auupnj-e7AWR92g; Mon, 25 Jun 2012 18:40:07 +0400 X-Yandex-Rcpt-Suid: jwiegley@gmail.com X-Yandex-Rcpt-Suid: emacs-devel@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1340635207; bh=/GCOyiirCfrlO2Ybr8/hxqiDVhBm444MO/PP3eHyIlA=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=UvQdLuWih6rH0gxsXh3skeElTwDgEVTavGLN8MNRwRCLokrtWlJNdSeHgqPZwrWLL YVauGFLC90eaY++qr/ZbH7z2y3NqpC3C77naGORrYFvMoPANP3PU+cetcn6tf/VnSp xJ253q6L/ZqIdjbNHcRGfd2FSxNxrRkcK5AKkWf0= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 77.88.46.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:151154 Archived-At: On 06/25/2012 06:22 PM, John Wiegley wrote: > Dmitry, have you measured what speed/memory advantage this change represents? > I understand the theory of why it may be valuable, but what has convinced you > that it's a hotspot? 1. The main bottleneck of Emacs' C code is mark_object; profiling says it may consume 25-30% of CPU time for some workloads like long byte-compile runs. So, lesser calls to mark_object is always desirable. 2. It doesn't make sense to use Lisp_Object for the integer values which are: a) invisible from Lisp; b) always contains an integer values (no nil or t with special treatment, for example); c) always converted to C integer values for the sake of comparison. Dmitry