[Bug 258699] [new port] devel/go-perf: Go performance measurement, storage, and analysis tools

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 23 Sep 2021 23:31:42 UTC

            Bug ID: 258699
           Summary: [new port] devel/go-perf: Go performance measurement,
                    storage, and analysis tools
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
               URL: http://golang.org/x/perf
                OS: Any
            Status: New
          Keywords: feature, patch-ready
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: fuz@fuz.su
                CC: dmgk@freebsd.org

Created attachment 228142
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=228142&action=edit
devel/go-perf: Go performance measurement, storage, and analysis tools

This adds devel/go-perf as a new port.  A somewhat straightforward Go port.  I
would have prefered to use GO_MODULE, but Uses=go requires DISTVERSION to be
set to the verbatim module version in this case (it is not possible to set
GO_MODVERSION manually as go.mk has = instead of ?= to assign to it) and as
upstream has never tagged a release, the module version is
0.0.0-20210220033136-40a54f11e909 which pkg fails to generate a sensible

dmgk is CC'ed to have a look at this.  Perhaps go.mk could have some better
code allowing the user to set GO_MODVERSION with go.mk deriving PORTVERSION in
a sensible and standard manner from it.  I volunteer to design a patch for that
if desired.

To sidestep this issue, I've manually derived a suitable PORTVERSION and
download the source from github (which holds a mirror of the official
repository over on Google's site).

Tested with Poudriere on armv7 arm64 i386 amd64 FreeBSD 13.0-RELEASE.
Unit tests pass with flying colours.

Utilities to analyse and publish Go benchmark results.  The main use
case is to compare two series of benchmarks for minuscule performance
improvements.  Four programs are included:

 - benchstat is a command-line tool that computes and compares
   statistics about benchmarks

 - benchsave is a command-line tool for publishing benchmark results

 - localperfdata is a local version of the https://perfdata.golang.org/
   benchmark result storage system

 - localperf is a local version of the https://perf.golang.org/
   benchmark result analysis system.

WWW: https://golang.org/x/perf

You are receiving this mail because:
You are the assignee for the bug.