From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: When to choose defsubst Date: Mon, 02 Apr 2007 13:31:23 -0400 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1175535455 31383 80.91.229.12 (2 Apr 2007 17:37:35 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 2 Apr 2007 17:37:35 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Apr 02 19:37:22 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HYQT3-00030G-O9 for geh-help-gnu-emacs@m.gmane.org; Mon, 02 Apr 2007 19:37:21 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HYQW6-0005if-P4 for geh-help-gnu-emacs@m.gmane.org; Mon, 02 Apr 2007 13:40:30 -0400 Original-Path: shelby.stanford.edu!newshub.stanford.edu!postnews.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.umontreal.ca!news.umontreal.ca.POSTED!not-for-mail Original-NNTP-Posting-Date: Mon, 02 Apr 2007 12:31:23 -0500 Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.96 (gnu/linux) Cancel-Lock: sha1:0iCBawqm2mdTAUvhT7waMdj1vcg= Original-Lines: 17 Original-NNTP-Posting-Host: 132.204.27.213 Original-X-Trace: sv3-0irUhA6hxGPzqM8uulccC32gin9iutqW9RlqwNA+UlwrtLV/lppHNUQTCgHeRT7rLCWFD5caERrXdIW!CK8FfwvWz5bk9tnIOjCkYnGbESxZFcAMeDLx29wBfkBNKr+1NsKiIXj84VESzV6Ubd+UHn62fUgj!UtpekAtHa6vHpHXTow== Original-X-Complaints-To: abuse@umontreal.ca X-DMCA-Complaints-To: abuse@umontreal.ca X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.34 Original-Xref: shelby.stanford.edu gnu.emacs.help:146767 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:42371 Archived-At: > I tried to find an easy answer but failed miserably at it :/ > So my question is this: when/why should I use a defsubst ? Never. Stefan PS: `defsubst' is like `defun' except it additionally tells the byte-compiler that this function should be inlined at every call site. In some rare cases, it can make a noticeable performance difference, but these are very rare, so you should only do that after noticing an actual performance problem and finding out where time is spent (with elp, typically). The reason not to use `defsubst' is that it does not behave well w.r.t debug/advice/trace/...