6

I was considering using a Raspberry Pi 4 as a cheap CI/CD server with Jenkins & Maven. Does anyone have a performance comparison of a Pi 4 against a modern Intel Core i3/i5/i7?

For example, how many times slower is a Pi 4, compared to a typical Intel Core i5 from 2020?

There are a ton of benchmarks out there that compare different Pis against each other or against similar competitors, but they are of no use for my use case: GPU, HDMI, fps, etc. are not really useful for a headless server that runs once a day after midnight and serves Jenkins. What probably matters here is CPU power and disk access.

As a side note, the Pi 4 consumes 3.4 W while a desktop/server consumes around 150 W. This means the Pi 4 is 44 times more efficient than a desktop in terms of power consumption.

3
  • 2
    I don't have numbers for you, but an i series desktop processor will run circles around the pi. Honestly, the metrics are so skewed that they don't matter outside of being mildly interesting. Commented Jul 9, 2020 at 3:46
  • My suggestion would be to use a cloud vm. If you only have to run your CI/CD pipeline once a day, it would probably cost less than a Pi - perhaps a dollar or two a month. Just include a shutdown command as the last step, after your outputs are sent to their destination. Commented Jul 9, 2020 at 18:09
  • @HiredMind This would solve the nightly build. But maybe too expensive for the "always on" Jenkins side of it. Commented Jul 9, 2020 at 18:57

2 Answers 2

8

After a few weeks I was finally able to perform a few benchmarks. The results are shown below:

Computer Arch CPU RAM Drive Java Build Time ------------- ------ -------- ----- -------- ------ ---------- Lenovo T420 64-bit i5-2520M 16 GB SATA SSD 11+28 0:25 Lenovo T480 64-bit i5-8350U 16 GB NVMe SSD 11+28 0:12 Raspberry Pi3 32-bit 1 GB USB2 SSD 11.0.7 4:32 Raspberry Pi4 64-bit 8 GB USB3 SSD 11.0.8 1:10 

The Lenovo T480 is a modern machine that is suitable for comparison. According to these numbers the Pi 4 is 5.8 times slower than a modern i5.

Considering the above, in my opinion a Raspberry Pi 4 (with an SSD) can work well as a fully functional CI/CD server. It can serve Jenkins all day long (for scheduling and reviewing builds) and can perform builds as needed. Waiting 1 minute for a build is no big deal for our team. Even it the application was 10 times bigger, it would still be perfectly acceptable, for the price (no ongoing fees, free Jenkins web site all day long).

Note: The exact same benchmark was performed in all four machines. It's a Maven build of an app with four modules (mvn clean install). All are hot builds, averaging the build time of two samples. All are second builds, all libraries already downloaded, after it was fully done just before.

1
  • Thanks for sharing this. It's not that far off from what I've seen. Commented Aug 10, 2020 at 16:23
3

Jenkins and Maven by themselves don't consume any significant CPU time. You need to profile specific implementations of the compilers you're going to use. If you're interested in GCC and don't have a Pi for a test, I can tell you that building the Pale Moon browser on a Pi 4 takes a bit more than 3 hours, vs. 30 minutes on an i7.

1
  • 1
    Ah... that's an interesting number there. That would point to 6 to 8 times slower than a modern CPU. Thanks. Commented Jul 9, 2020 at 12:49

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.