Test HW Config on perf.rust-lang.org


#1

Hi, all –

First time poster here but I was directed this way from a thread on HN: https://news.ycombinator.com/item?id=16955892

perf.rust-lang.org seemingly does not disclose what hardware is used underneath each benchmark (if it does, I can’t find it). I’m considering supporting some research on what hardware parameters might make a difference in compilation time, for example, but not knowing the baseline configuration, I can’t try to recreate what the Rust community has shown and then change variables from there. Would anyone be able to help me understand what CPU, memory, storage, etc. are used for current Rust benchmarks?

Thanks!


#2

The CPU used is a “Intel® Core™ i7-4790 CPU @ 3.60GHz” according to /proc/cpuinfo, model 60. We have 32 GB of RAM, though I don’t know what the specs on it are. @alexcrichton may know more.

However, I think generally speaking the goal shouldn’t be to try and reproduce the testing environment - perf should work fine on various machines, so this would presumably only provide one more data point, which is not all that helpful.

@nrc did some benchmarks for building the compiler itself about 2 years ago: https://www.ncameron.org/blog/how-fast-can-i-build-rust/. That might be good as a reference point.


#3

Thanks, Mark. Would you or @alexcrichton mind sharing more on the DRAM and storage (assuming an SSD of some sort)? Just the SKU name/number would be enough and I can take it from there.

I think there can be some value in reproducing your testing environment as the control and then altering CPU, DRAM, SSD to understand what makes the greatest difference (or not). I could also create another baseline but since the community has already aligned around metrics from perf.rust-lang.org, all the better to try to recreate!

Really like what @nrc did in that blog. Will definitely use it as a reference point.


#4

Slight bump but also some more context. What I’m attempting to look into is addressing one of the themes around how to improve Rust I saw in the 2017 survey results, namely, faster compile times. Would someone please share what DRAM and storage are on the test system for perf.rust-lang.org and I’ll take it from there? Thank you!


#5

I don’t personally know how to get those statistics (if it’s even possible) from a running machine; @alexcrichton may be able to find out as I believe the machine is under their control. You could try asking them on IRC (irc.mozilla.org, #rust-infra).


#6

Yes unfortunately I don’t know what precisely is in the machine, do you have commands we can run on Linux to learn this information?


#7
dmi-decode

You may need to install it first. Requires root. Man page: https://linux.die.net/man/8/dmidecode


#8

Ah thanks!


#9

Thanks @alexcrichton! I was able to confirm the 32GB DDR3 1600 MHz and i7-4790 in the output, but dmidecode does not seem to provide information on storage. Looking up the Dell Precision T1700, I see it came by default with a 1TB 7200 rpm SATA hard drive, but seeing as how whoever bought it originally upgraded it to 32GB ECC DRAM from the standard 8GB, I wouldn’t be surprised if the HDD was also upgraded to an SSD. Any ideas here? I found the following forum that might have an answer on outputting the storage serial #s: https://www.linuxquestions.org/questions/linux-hardware-18/how-to-get-hdd-and-ssd-serial-number-in-linux-using-command-line-4175504920/

I’m assuming the x16 PCIe slot is occupied by the Quadro K600 GPU, but perhaps not as the dmidecode output only spoke to integrade Intel HD graphics onboard…hmm. Appreciate you taking a look at this!