News for hackers. Stuff that matters.
Re:Tracking developer build times to decide if the M3 MacBoo... by dash2 on Friday December 29, 2023 @04:28PM (#38810405)
As a scientist, I'm interested how computer programmers work with data.

* They drew beautiful graphs!

* They used chatgpt to automate their analysis super-fast!

* ChatGPT punched out a reasonably sensible t test!

But:

* They had variation across memory and chip type, but they never thought of using a linear regression.

* They drew histograms, which are hard to compare. They could have supplemented them with simple means and error bars. (Or used cumulative distribution functions, where you can see if they overlap or one is shifted.)

Re:Tracking developer build times to decide if the M3 MacBoo... by dgacmu on Friday December 29, 2023 @07:42PM (#38811866)
I'm glad you noted programmers; as a computer science researcher, my reaction was the same as yours. I don't think I ever used a CDF for data analysis until grad school (even with having had stats as a dual bio/cs undergrad).
Re:Tracking developer build times to decide if the M3 MacBoo... by Herring on Friday December 29, 2023 @05:37PM (#38811066)
>They drew histograms, which are hard to compare.

Note that in some places they used boxplots, which offer clearer comparisons. It would have been more effective to present all the data using boxplots.

Re:Tracking developer build times to decide if the M3 MacBoo... by tmoertel on Friday December 29, 2023 @06:32PM (#38811464)
> They drew histograms, which are hard to compare.

Like you, I'd suggest empirical CDF plots for comparisons like these. Each distribution results in a curve, and the curves can be plotted together on the same graph for easy comparison. As an example, see the final plot on this page:

https://ggplot2.tidyverse.org/reference/stat_ecdf.html

Re:Tracking developer build times to decide if the M3 MacBoo... by mnming on Friday December 29, 2023 @05:16PM (#38810908)
I think it's partly because the audiences are often not familiar with those statistics details either.

Most people hates nuances when reading data report.

Re:Tracking developer build times to decide if the M3 MacBoo... by jxcl on Friday December 29, 2023 @05:17PM (#38810917)
Yeah, I was looking at the histograms too, having trouble comparing them and thinking they were a strange choice for showing differences.
Re:Tracking developer build times to decide if the M3 MacBoo... by azalemeth on Friday December 29, 2023 @08:19PM (#38812042)
> ChatGPT punched out a reasonably sensible t test!

I think the distribution is decidedly non normal here and the difference in the medians may well have also been of substantial interest -- I'd go for a Wilcox test here to first order... Or even some type of quantile regression. Honestly the famous Jonckheere–Terpstra test for ordered medians would be _perfect_ for this bit of pseudoanalysis -- have the hypothesis that M3 > M2 > M1 and you're good to go, right?!

(Disclaimers apply!)

Re:Tracking developer build times to decide if the M3 MacBoo... by whimsicalism on Friday December 29, 2023 @08:39PM (#38812138)
12,000 builds? Sure maybe the build time distribution is non-normal, but the sample statistic probably is approximately normal with that many builds.
Re:Tracking developer build times to decide if the M3 MacBoo... by RayVR on Friday December 29, 2023 @08:44PM (#38812176)
Many people misinterpret what is required for a t-test.
Re:Tracking developer build times to decide if the M3 MacBoo... by azalemeth on Saturday December 30, 2023 @05:55AM (#38814259)
I meant that the median is likely arguably the more relevant statistic, that is all -- I realise that the central limit theorem exists!
Re:Tracking developer build times to decide if the M3 MacBoo... by whimsicalism on Monday January 01, 2024 @12:43PM (#38833578)
Fair enough - I see what you are saying. Sorry for my accidentaly condescending reply.
Re:Tracking developer build times to decide if the M3 MacBoo... by NavinF on Friday December 29, 2023 @09:32PM (#38812394)
> cumulative distribution functions, where you can see if they overlap or one is shifted

Why would this be preferred over a PDF? I've rarely seen CDF plots after high school so I would have to convert the CDF into a PDF inside my head to check if the two distributions overlap or are shifted. CDFs are not a native representation for most people

Re:Tracking developer build times to decide if the M3 MacBoo... by unsung on Friday December 29, 2023 @11:18PM (#38812795)
I can give a real example. At work we were testing pulse shaping amplifiers for Geiger Muller tubes. They take a pulse in, shape it to get a pulse with a height proportional to the charge collected, and output a histogram of the frequency of pulse heights, with each bin representing how many pulses have a given amount of charge.

Ideally, of all components are the same, there is no jitter, and if you feed in a test signal from a generator with exactly the same area per pulse, you should see a histogram where every count is in a single bin.

In real life, components have tolerances, and readouts have jitter, so the counts spread out and you might see, with the same input, one device with, say, 100 counts in bin 60, while a comparably performing device might have 33 each in bins 58, 59, and 60.

This can be hard to compare visually as a PDF, but if you compare CDF's, you see S-curves with rising edges that only differ slightly in slope and position, making the test more intuitive.

Re:Tracking developer build times to decide if the M3 MacBoo... by dash2 on Saturday December 30, 2023 @12:49AM (#38813065)
If one line is to the right of the other everywhere, then the distribution is bigger everywhere. (“First order stochastic dominance” if you want to sound fancy.) I agree that CDFs are hard to interpret, but that is partly due to unfamiliarity.
Re:Tracking developer build times to decide if the M3 MacBoo... by novok on Saturday December 30, 2023 @03:11AM (#38813601)
It's because that's usually the data scientist's job, and most eng infra teams don't have a data scientist and don't really need one most of the time.

Most of the time they deal with data the way their tools generally present data, which correlate closely to most analytics, perf analysis and observability software suites.

Expecting the average software eng to know what a CDF is the same as expecting them to know 3d graphics basics like quaternions and writing shaders.

Re:Tracking developer build times to decide if the M3 MacBoo... by DeathArrow on Saturday December 30, 2023 @03:55AM (#38813786)
>Expecting the average software eng to know what a CDF is the same as expecting them to know 3d graphics basics like quaternions and writing shaders.

I did write shaders and used quaternions back in the day. I also worked on microcontrollers, did some system programming, developed mobile and desktop apps. Now I am working on a rather large microservice based app.

Re:Tracking developer build times to decide if the M3 MacBoo... by perfmode on Saturday December 30, 2023 @02:46PM (#38818359)
you’re a unicorn
Re:Tracking developer build times to decide if the M3 MacBoo... by mpoteat on Saturday December 30, 2023 @05:55PM (#38820099)
A standard CS program will cover statistics (incl. calculus-based stats e.g. MLEs), and graphics is a very common and popular elective (e.g. covering OpenGL). I learned all of this stuff (sans shaders) in undergrad, and I went to a shitty state college. So from my perspective an entry level programmer should at least have a passing familiarity with these topics.

Does your experience truly say that the average SWE is so ignorant? If so, why do you think that is?

Re:Tracking developer build times to decide if the M3 MacBoo... by oakejp12 on Saturday December 30, 2023 @07:38PM (#38820728)
> A standard CS program will cover statistics

> graphics is a very common and popular elective

I find these statements to be extremely doubtful. Why would a CS program cover statistics? Wouldn't that be the math department? If there any required courses, it's most likely Calc 1/2, Linear Algebra, and Discrete Math.

Also, out of the hundreds of programmers I've met, I don't know any that has done graphics programming. I consider that super niche.

Re:Tracking developer build times to decide if the M3 MacBoo... by dehugger on Sunday December 31, 2023 @08:04PM (#38828880)
Thankfully all programmers have a CS degree, as there are absolutely no career paths into the industry that could possibly bypass a four year degree. What a relief, imagine the horror of working with plebians that never took a course on statistics!
Re:Tracking developer build times to decide if the M3 MacBoo... by fallous on Saturday December 30, 2023 @05:17AM (#38814094)
I think you might want to add the caveat "young computer programmers." Some of us grew up in a time where we had to learn basic statistics and visualization to understand profiling at the "bare metal" level and carried that on throughout our careers.