-Salem Open, and the USTA Southern Section. Additionally, Bill has been involved with numerous sports marketing firms over the last thirty plus years.
Bill has hosted tennis television and radio shows since 2004, including doing play-by-play at the US Open for usopen.org radio. He has been a tournament director on the ATP Tour, chaired ATP committees on Television and the 250s, served on the Tournament Council, and been an instructor at the ATP University during this period.
To say that Bill knows a thing or two about the best/coolest tournaments to attend as a fan is an understatement! He’s a tournament expert and has worked in tennis for over 30+ years.
One of Bill’s biggest accomplishments and one he is proud of was when the Winston-Salem Open won the 2016 ATP “Tournament of the Year” award.
Every tournament is unique and has positives and negatives. Following is a list of some of his favorites.
Bill says it’s a fanatic event with amazing dining and grounds experience. It’s been coined “Tennis Paradise”. If you want nightlife after watching tennis all day, Indian Wells is not the tournament for you. But if you want a world=class grounds experience and amazing food on-site, this is a must-attend tennis tournament.
If nightlife and city experiences are your things, Bill suggests attending the Miami Open. The tennis venue itself though is a football stadium. That might not be for all tennis fans.
Bill tells us that if you want a “resort” tennis experience to attend the Acapulco tournament in February. This tournament attracts the biggest names in men’s tennis. RRafa Nadal won in 2022. The party goes on well after tennis is finished — usually until 6 am in the morning!
Bill said If you are a tennis fan and can find a way to make it to Wimbledon, do it. It’s “off the charts”. The ambiance, tradition and beauty of the tournament is worth the price. Go drinks some champagne and have a ball. While you’re there, go sightseeing in London and make a whole week out of your trip.
For the tennis fan that has money to burn, make sure you get yourself to Monte Carlo. The tennis courts overlooking the Mediterranean Sea can’t be topped. All the hotels are within walking distance. Bill said this is his favorite tournament in the world. Talk about a snob, right?
The Cincinnati Open is the last, large tournament that all the pros show up to and play. It’s the tournament right before the US Open. The grounds are wide-open, and you’ll have the best chance of seeing the pros walking around blending in with spectators.
If you are near North Carolina and like to see some of the up-and-coming players on the men’s tour, the Atlantic Tire Championships might be just your thing. The event is held in September at Cary Tennis Park. The venue is a beautiful, 32-court facility with a stadium court and 7 covered courts.
Carolyn and Erin attended a few professional tournaments this year. Carolyn went to the Billie Jean King Cup and Erin attended The Credit One Charleston Open. To hear about their experiences at those tournaments, click here.
What tournaments have you been to and what do you think are the best/coolest tournaments to attend as a fan?
We propose to make the current output of go test -bench the defined format for recording all Go benchmark data. Having a defined format allows benchmark measurement programs and benchmark analysis programs to interoperate while evolving independently.
See golang.org/design/14313-benchmark-format for details.
Why have the key start with a lowercase letter rather than an uppercase one? Wouldn't having it start with an uppercase letter make it easier to write go code that unmarshals the configuration (for example, not needing struct tags like in json)?
is it possible to change "100" to "100 iters" or "100 runs" so that every number also has a unit? Or will that be backwards incompatible?
@nigeltao, unfortunately that would be backwards incompatible.
What's the reasoning for this restriction?
It doesn't seem like it makes the job of a parser author harder to just drop this restriction (and generation code can pick an appropriate unit per line, if desired).
@cespare, in the general case dropping that restriction would make the job of the parser much harder, if not impossible. Since we're proposing that benchmarks can emit custom metrics, that would require the parser to know how to conform arbitrary scalings of arbitrary units. It would also require that we specify much more precisely the syntax of units. Currently we've specified the unit syntax enough to make "best effort" rescaling possible in benchmark processors, but even if a processor doesn't understand a unit, it can at least expect it to be spelled consistently so it can match up results.
@aclements got it, thanks.
only makes sense given the current benchmark conventions.
Now, given that lines other than configuration lines and benchmark result lines are ignored, it's possible for someone to make up their own format for column headers. But might it be better to settle on a single convention from the start?
By the way, I commented on a few typos in the CL (https://go-review.googlesource.com/#/c/19490/) after it was already submitted.
I wonder whether the specification should call out that the file is UTF-8 encoded and that lines are separated by line feeds.
It may also be helpful to specify whether or not a tool can assume that value units are always ratios, so must include a slash character. There is also the question whether a value unit with multiple slashes is undefined, forbidden or something else.
I suggest to require all lines beginning with a # character to be ignored.
All other lines in the data file, including but not limited to blank lines and lines beginning with a # character, are ignored.
LGTM overall. Seems very useful.
0 or more space characters, or 1 or more space characters?
Value can be omitted entirely but the colon must still be present.
Presumably if the answer to the above is "1 or more", then the spaces may also be omitted in this case.
The first field is the benchmark name, which must begin with Benchmark and is typically followed by a capital letter, as in BenchmarkReverseString. Tools displaying benchmark data conventionally omit the Benchmark prefix.
It'd be better to require a following capital letter. If the name is just Benchmark and the tool omits the prefix, the name will be blank, which is likely to confuse the user or look like a bug. The Go tool already requires this of benchmark function names.
The same benchmark name can appear on multiple result lines, indicating that the benchmark was run multiple times.
According to the proposal, this would be interpreted incorrectly as two benchmarks run twice, rather than four benchmarks run once.
The main known issue with the current go test -bench is that we'd like to emit finer-grained detail about runs, for linearity testing and more robust statistics. This proposal allows that by simply printing more result lines.
Link to issue 10669.
Will https://godoc.org/golang.org/x/tools/benchmark/parse be updated? Deprecated? Replaced?
It's a fascinating question, but one that maybe we should leave open, at least at first. I can't think of any units that wouldn't have exactly one slash, but maybe (probably) I am just not thinking hard enough.
1 or more ("x:y: 12" sets "x:y" = "12").
Interesting corner case, thanks. Actually the go command allows plain Benchmark. The tool will have to rename it to something. The go command does require that if something follows "Benchmark", that something must not be a lower case letter: "Benchmarked" is not a benchmark.
I expect deprecated in favor of a new parser in x/perf (see #14304). The code in package parse is very tied to benchcmp's view of the world (unsurprising since it was basically an mv from cmd/benchcmp). Worse, benchcmp's view of the world - which I accept full blame for - is fundamentally flawed, since it doesn't understand the idea of running a benchmark multiple times and therefore cannot do any statistical validity checks. A general parsing library should really provide something closer to the raw input, leaving analysis to the code invoking the parser. For benchstat, I started by using package parse and trying to recook the results into the form I wanted, but I found that it was easier to parse the raw data from scratch.
For that matter, benchstat will move to x/perf, but probably, due to the statistical failings, benchcmp will be left behind, deprecated, and eventually removed. Not for a while though, and somewhat off-topic for the current proposal.
Thanks for the comments! I believe I've addressed all of them in https://go-review.googlesource.com/21030.
Good catch. I made the rule a bit stricter than you proposed by requiring that the first character satisfy unicode.IsLower(). If there's a compelling case to weaken this, we can do so in the future.
There are useful units with zero slashes, such as binary size in a compiler benchmark and median GC utilization (though you could argue these are "per iteration"). There are also useful units with multiple slashes, such as bytes/CPU/sec. You could represent this as bytes/(CPU*sec), but this goes one step deeper into the rabbit hole of