From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24017 invoked from network); 6 Nov 2021 16:16:48 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 6 Nov 2021 16:16:48 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1636215408; b=KwcMC4pnb4Q5i8TwwyUSHsr0rfq5C6G2B5iqJFOzB2Jw0scQ4SVGWssVUR7XY6FLY1YfMpRd+6 DlyURXV+kBVNK9n1gKWbKT8Mhxacunl9zzZlEyKmm+Yaock9HIv3pMzZnrhrbX6CcZL3QENIOB Fw9KkyS+f+vjKVhbYqjLy5qJlNgeqgL/fSrTdJYSmT6YViB8avatQYCvZUTZa49pKkS7KudFoJ mUfqQPlbx22yoLpYmWalkNdCLD/yjUKEi02sTJKUwSD0FezzB5MZus6mUXyom47fftGGCMDu5f yoZoOEEuhDbK61ATaL421jXLkwu9NnxmIJMvmbSxX6HKSQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yb1-f177.google.com) smtp.remote-ip=209.85.219.177; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1636215408; bh=8vJGJRgtM7Y9pD8o12pPcbXRV7h0GqjC0b11SJm5iHw=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=oDj0jHdA7N++VyCyqIXgkeFSkAb6p+uCY4XpQYCK7meoMdoqTLEQFB4k5ml4KElRnMyQbauqe4 N6PKj+GTaydt4GW5FDAOJOQIOwSgyu6N4llhG1ujyHzQiqQ7yaG3RE7eZSi2sKagW7MgSWKj8V D5RspaWhvStd3sKKS+UMehNMyzLkA8n1v5P21kZ7V1SM11eHgUR+T3EC9K5mqQMJ5oL6+xjbUY 2MXBRtcPaf13ug1C2ibvfQFZQ5IcHo4Hod86p3XHvShTGKVneQqUXkCwG/NGj8l4ZoTYtCZw21 7REHTq9DhdBAxoAAdjjyEG8K5MyZxW3wuAs8M/pM6P5CRg==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=H8BT31I07t9YH751t0Jji+ufcEQpWOQtcDEehTZYp04=; b=iNqGIJrh/ULIuX/h2R1o3Vf42t ZNtCWsAG2mHJU1Z1kOeGQB5ybyITA2TEdCRkxO3YbyXVwe4YTpMihRNrQZYZr7WXZAA+8zpq4vE53 mAGXaptHxy+eNfhkq4aiB+Oy/HlJ9yvLC2FYS+XYS1vCpJGXWvin4n/IQ85ZYkTb9cLRvKO7YAYOv uFCCHakpoG34YwaSm4EVSzSrG/s5OtiJfwXkWbT3eylrUrpPVH2tPDVTmUCNCQOl4bPtBF7jXXiY4 ykgAQQYMXd49pcpZUYv2ZRQCLX5mUN38AtykJZfxV74Y3nui7PritqthYrzBCXyQa2ZwM1Z6Aaibx kyXtY2LA==; Received: from authenticated user by zero.zsh.org with local id 1mjON5-000OdS-OB; Sat, 06 Nov 2021 16:16:47 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yb1-f177.google.com) smtp.remote-ip=209.85.219.177; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-yb1-f177.google.com ([209.85.219.177]:44648) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mjOMI-000NvK-0D; Sat, 06 Nov 2021 16:15:59 +0000 Received: by mail-yb1-f177.google.com with SMTP id q74so30973214ybq.11 for ; Sat, 06 Nov 2021 09:15:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=H8BT31I07t9YH751t0Jji+ufcEQpWOQtcDEehTZYp04=; b=X8/6GgzioylQPlM4FsBj0nZZIOnlela66zhe0eQZ7eMo8rF9rirAvZkCwETGd9Vfwl h13rhJ09Nr1Pon+GWzkrx6mQZ6X+W+NyBUiIB9/x/+hzsOC8sQFZJFoRHnEtKJpWPEyD cCtkR2sJm4Z7E2YA42Mv8hU4vOJJKYsTEcBwPE6JUAV87fYIy9JLgBNl80MDhHjNgOZP vqPsx53RGfmCJ+lzCE6+sRmr3torNPvkPZsxPZHL22Ap0+m3h9MCr0wL9vaN1g5hAFm9 JE6Cq+VKaC1gWdOjKrvxkU6dp62PQMgq//p3sthzBsHqtXF+XCTaDTnoESuaOhux1iNO +nNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=H8BT31I07t9YH751t0Jji+ufcEQpWOQtcDEehTZYp04=; b=CD0yLBDbo3P+E1pfFQ0i5EsED7fK3jvbINmlnCl/mLsQiX2B7g9NEaFaUj1g5szPhr 5Guy3iqYy/fuVVSJPlzwVdncxCJMMox9lFUVLsTTj9Q0TqBPGt3PA54iYY4MgOAhJGfr LnsJsQVeOqbCXbTefjxPhCcfe/tfBgjCxZcCaM2PTO6VIMtT4+ipTnMhW0I4cFMBuf+W +U5k+WVjk0X0WV8CnTZLVXlgv6sjeO+Ks+lUX9ebvSLPeSDl83bxMIPjqUZXEBjxMaBD SfhplN/xTXWxw72xkAKnBctafIbWZV9t5Y0llmY7KhgvAfgAAnvoV//TaAPcFckTAYBj qm/Q== X-Gm-Message-State: AOAM5335QciUKCs71W/nkifKhOnOoT4aSHM3w7PQxSq1MgRLm0HqgmFr cKr//ngJUQRgfBWj6Bd4wpB752klpHbsS1WNANYfOw== X-Google-Smtp-Source: ABdhPJzLwM8f6RQjMMuDhGp05kX7wFJJxwVMnabuyF/O5OAvO3YZ5+ownevaOTNo0N+MAtwESxLM8baH1BxA4ftCJPA= X-Received: by 2002:a25:2f13:: with SMTP id v19mr72147430ybv.410.1636215356527; Sat, 06 Nov 2021 09:15:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Sat, 6 Nov 2021 09:15:45 -0700 Message-ID: Subject: Re: Timing function execution To: Zach Riggle Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 27311 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: On Sat, Nov 6, 2021 at 5:11 AM Zach Riggle wrote: > > What is the appropriate way to benchmark / log the execution time of a function? "time" relies upon being able to use the OS-level profiling operations on an external process. Shell functions run in the current shell, so there's no process to profile. Consequently, in order to use "time" you have to force the function to run in a subshell: % time (foo) hello ( foo; ) 0.00s user 0.00s system 0% cpu 1.005 total If all you need is the elapsed time, you can use $SECONDS. % float SECONDS % SECONDS=0; foo; print $SECONDS hello 1.004018000e+00 (Saved almost 0.001 by not forking, I guess.)