[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
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258699

            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
PORTVERSION from.

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.