{"id":16894,"date":"2021-10-28T09:14:07","date_gmt":"2021-10-28T13:14:07","guid":{"rendered":"https:\/\/scruss.com\/blog\/?p=16894"},"modified":"2021-10-28T09:14:07","modified_gmt":"2021-10-28T13:14:07","slug":"raspberry-pi-zero-2-w-initial-performance","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2021\/10\/28\/raspberry-pi-zero-2-w-initial-performance\/","title":{"rendered":"Raspberry Pi Zero 2 W: initial performance"},"content":{"rendered":"\n<p>Running <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=227177&amp;hilit=pie+chart\">A Pi Pie Chart<\/a> turned out some useful performance numbers. It&#8217;s almost, but not quite, a Raspberry Pi 3B in a Raspberry Pi Zero form factor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">32-bit mode<\/h2>\n\n\n\n<p>Running stock Raspberry Pi OS with desktop, compiled with stock options:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-zero2w.png\" alt=\"pie chart comparing multi-thread numeric performance of Raspberry Pi Zero 2 W: slightly faster than a Raspberry Pi 2B\" class=\"wp-image-16896\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-zero2w.png 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-zero2w-320x240.png 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-zero2w-160x120.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-zero2w-768x576.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>multi-thread results<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-zero2w.png\" alt=\"pie chart comparing single-thread numeric performance of Raspberry Pi Zero 2 W: slightly faster than a Raspberry Pi 2B\" class=\"wp-image-16897\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-zero2w.png 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-zero2w-320x240.png 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-zero2w-160x120.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-zero2w-768x576.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>single-thread results<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-preformatted\">time .\/pichart-openmp -t \"Zero 2W, OpenMP\"\npichart -- Raspberry Pi Performance OPENMP version 36\n\nPrime Sieve          P=14630843 Workers=4 Sec=2.18676 Mops=427.266\nMerge Sort           N=16777216 Workers=8 Sec=1.9341 Mops=208.186\nFourier Transform    N=4194304 Workers=8 Sec=3.10982 Mflops=148.36\nLorenz 96            N=32768 K=16384 Workers=4 Sec=4.56845 Mflops=705.102\n\nThe Zero 2W, OpenMP has Raspberry Pi ratio=8.72113\nMaking pie charts...done.\n\nreal\t8m20.245s\nuser\t15m27.197s\nsys\t0m3.752s\n\n-----------------------------\n\ntime .\/pichart-serial -t \"Zero 2W, Serial\"\npichart -- Raspberry Pi Performance Serial version 36\n\nPrime Sieve          P=14630843 Workers=1 Sec=8.77047 Mops=106.531\nMerge Sort           N=16777216 Workers=2 Sec=7.02049 Mops=57.354\nFourier Transform    N=4194304 Workers=2 Sec=8.58785 Mflops=53.724\nLorenz 96            N=32768 K=16384 Workers=1 Sec=17.1408 Mflops=187.927\n\nThe Zero 2W, Serial has Raspberry Pi ratio=2.48852\nMaking pie charts...done.\n\nreal\t7m50.524s\nuser\t7m48.854s\nsys\t0m1.370s<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">64-bit<\/h2>\n\n\n\n<p>Running stock\/beta 64-bit Raspberry Pi OS with desktop. Curiously, these ran out of memory (at least, in <em>oom-kill<\/em>&#8216;s opinion) with the desktop running, so I had to run from console. This also meant it was harder to capture the program run times.<\/p>\n\n\n\n<p>The firmware required to run in this mode should be in the official distribution by now.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-z2w64bit-1.png\" alt=\"pie chart comparing 64 bit multi-thread numeric performance of Raspberry Pi Zero 2 W: slightly faster than a Raspberry Pi 2B\" class=\"wp-image-16898\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-z2w64bit-1.png 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-z2w64bit-1-320x240.png 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-z2w64bit-1-160x120.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-openmp-z2w64bit-1-768x576.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>multi-thread, 64 bit: no, I can&#8217;t explain why Lorenz is better than a 3B+<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-z2w64bit.png\" alt=\"pie chart comparing 64 bit single-thread numeric performance of Raspberry Pi Zero 2 W: slightly faster than a Raspberry Pi 2B\" class=\"wp-image-16899\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-z2w64bit.png 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-z2w64bit-320x240.png 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-z2w64bit-160x120.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/10\/pichart-serial-z2w64bit-768x576.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>single thread, again with the bump in Lorenz performance<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-preformatted\">pichart -- Raspberry Pi Performance OPENMP version 36\n\nPrime Sieve          P=14630843 Workers=4 Sec=1.78173 Mops=524.395\nMerge Sort           N=16777216 Workers=8 Sec=1.83854 Mops=219.007\nFourier Transform    N=4194304 Workers=4 Sec=2.83797 Mflops=162.572\nLorenz 96            N=32768 K=16384 Workers=4 Sec=2.66808 Mflops=1207.32\n\nThe Zero2W-64bit has Raspberry Pi ratio=10.8802\nMaking pie charts...done.\n\n-------------------------\n\npichart -- Raspberry Pi Performance Serial version 36\n\nPrime Sieve          P=14630843 Workers=1 Sec=7.06226 Mops=132.299\nMerge Sort           N=16777216 Workers=2 Sec=6.75762 Mops=59.5851\nFourier Transform    N=4194304 Workers=2 Sec=7.73993 Mflops=59.6095\nLorenz 96            N=32768 K=16384 Workers=1 Sec=9.00538 Mflops=357.7\n\nThe Zero2W-64bit has Raspberry Pi ratio=3.19724\nMaking pie charts...done.<\/pre>\n\n\n\n<p>The main reason for the Raspberry Pi Zero 2 W appearing slower than the 3B and 3B+ is likely that it uses LPDDR2 memory instead of LPDDR3. 64-bit mode provides is a useful performance increase, offset by increased memory use. I found desktop apps to be almost unusably swappy in 64-bit mode, but there might be some tweaking I can do to avoid this.<\/p>\n\n\n\n<p>Unlike the single core Raspberry Pi Zero, the Raspberry Pi Zero 2 W can be made to go into thermal throttling if you&#8217;re really, <strong>really<\/strong> determined. Like &#8220;<em>3 or more cores running flat-out<\/em>&#8220;-determined. In my testing, two cores at 100% (as you might get in emulation) won&#8217;t put it into thermal throttling, even in the snug official case closed up tight. More on this later.<\/p>\n\n\n\n<p>(And a great big raspberry blown at <a href=\"https:\/\/web.archive.org\/web\/20211027004707\/https:\/\/makezine.com\/2021\/10\/26\/pis-the-limit-eben-upton-talks-about-raspberry-pis-most-exciting-year-yet-and-reveals-the-new-pi-zero-2-w\/\">Make, who leaked the Raspberry Pi Zero 2 W release a couple of days ago<\/a>. Not classy.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Running A Pi Pie Chart turned out some useful performance numbers. It&#8217;s almost, but not quite, a Raspberry Pi 3B in a Raspberry Pi Zero form factor. 32-bit mode Running stock Raspberry Pi OS with desktop, compiled with stock options: time .\/pichart-openmp -t &#8220;Zero 2W, OpenMP&#8221; pichart &#8212; Raspberry Pi Performance OPENMP version 36 Prime [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Raspberry Pi Zero 2 W: initial performance\n(and no","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[3297,2721,2510],"class_list":["post-16894","post","type-post","status-publish","format-standard","hentry","category-computers-suck","tag-64bit","tag-benchmark","tag-raspberrypi"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-4ou","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=16894"}],"version-history":[{"count":2,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16894\/revisions"}],"predecessor-version":[{"id":16901,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16894\/revisions\/16901"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=16894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=16894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=16894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}