3

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.
    – Jacobm001
    Jul 9 '20 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.
    – HiredMind
    Jul 9 '20 at 18:09
  • @HiredMind This would solve the nightly build. But maybe too expensive for the "always on" Jenkins side of it. Jul 9 '20 at 18:57
3

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. Aug 10 '20 at 16:23
2

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. Jul 9 '20 at 12:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.