V6 performance testing command results

In this GitHub post @DL6ER you said that you're interested in seeing the output of the v6 performance testing command as well as a summary of the hardware and processor in use.

pihole-FTL --perf

I've created this topic so that v6 testers can run this command and post their results and a summary of their hardware and processor.

1 Like

Running bare metal on a Raspberry Pi 4 Model B Rev 1.4, 4GB memory, Pi OS 12 (Bookworm) 64-bit

Ran the test 4 times and for the first 3 the margin of error reduced with the indexes increasing. Posting all 4 results in case useful.

1

pi@pihole-v6:~ $ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took   92.1 +/- 17.7 ms (scratch buffer   16.4KB) -> 88921
s =   512, t =    32 took  148.5 +/-  0.1 ms (scratch buffer   16.4KB) -> 110335
s =   512, t =    64 took  297.9 +/-  1.2 ms (scratch buffer   16.4KB) -> 110003
s =   512, t =   128 took  594.1 +/-  1.0 ms (scratch buffer   16.4KB) -> 110320
s =   512, t =   256 took 1187.8 +/-  0.3 ms (scratch buffer   16.4KB) -> 110348
s =   512, t =   512 took 2371.1 +/-  0.1 ms (scratch buffer   16.4KB) -> 110556

Running space-performance test:
s =     8, t =   512 took   37.0 +/-  0.0 ms (scratch buffer  288.0 B) -> 110700
s =    16, t =   512 took   74.0 +/-  0.0 ms (scratch buffer  544.0 B) -> 110681
s =    32, t =   512 took  148.2 +/-  0.0 ms (scratch buffer    1.1KB) -> 110535
s =    64, t =   512 took  296.2 +/-  0.1 ms (scratch buffer    2.1KB) -> 110610
s =   128, t =   512 took  596.5 +/-  0.1 ms (scratch buffer    4.1KB) -> 109870
s =   256, t =   512 took 1193.5 +/-  0.3 ms (scratch buffer    8.2KB) -> 109823
s =   512, t =   512 took 2372.9 +/-  0.2 ms (scratch buffer   16.4KB) -> 110476

Average time-performance index:     110313 +/- 276 (s = 512)
Average space-performance index:    110385 +/- 350 (t = 512)

Total test time: 18.8 seconds

2

pi@pihole-v6:~ $ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took   97.2 +/- 23.1 ms (scratch buffer   16.4KB) -> 84238
s =   512, t =    32 took  148.2 +/-  0.1 ms (scratch buffer   16.4KB) -> 110516
s =   512, t =    64 took  296.1 +/-  0.1 ms (scratch buffer   16.4KB) -> 110675
s =   512, t =   128 took  591.9 +/-  0.1 ms (scratch buffer   16.4KB) -> 110729
s =   512, t =   256 took 1183.2 +/-  0.0 ms (scratch buffer   16.4KB) -> 110773
s =   512, t =   512 took 2366.4 +/-  0.2 ms (scratch buffer   16.4KB) -> 110777

Running space-performance test:
s =     8, t =   512 took   37.0 +/-  0.0 ms (scratch buffer  288.0 B) -> 110679
s =    16, t =   512 took   74.0 +/-  0.0 ms (scratch buffer  544.0 B) -> 110717
s =    32, t =   512 took  147.9 +/-  0.1 ms (scratch buffer    1.1KB) -> 110800
s =    64, t =   512 took  295.8 +/-  0.0 ms (scratch buffer    2.1KB) -> 110792
s =   128, t =   512 took  591.8 +/-  0.1 ms (scratch buffer    4.1KB) -> 110748
s =   256, t =   512 took 1182.8 +/-  0.2 ms (scratch buffer    8.2KB) -> 110812
s =   512, t =   512 took 2368.7 +/-  1.1 ms (scratch buffer   16.4KB) -> 110671

Average time-performance index:     110694 +/- 101 (s = 512)
Average space-performance index:    110746 +/- 72 (t = 512)

Total test time: 18.8 seconds

3

pi@pihole-v6:~ $ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took   89.1 +/- 15.0 ms (scratch buffer   16.4KB) -> 91961
s =   512, t =    32 took  148.0 +/-  0.0 ms (scratch buffer   16.4KB) -> 110703
s =   512, t =    64 took  295.7 +/-  0.0 ms (scratch buffer   16.4KB) -> 110800
s =   512, t =   128 took  590.9 +/-  0.0 ms (scratch buffer   16.4KB) -> 110903
s =   512, t =   256 took 1182.0 +/-  0.1 ms (scratch buffer   16.4KB) -> 110890
s =   512, t =   512 took 2363.7 +/-  0.1 ms (scratch buffer   16.4KB) -> 110905

Running space-performance test:
s =     8, t =   512 took   37.0 +/-  0.0 ms (scratch buffer  288.0 B) -> 110836
s =    16, t =   512 took   73.8 +/-  0.0 ms (scratch buffer  544.0 B) -> 110951
s =    32, t =   512 took  147.7 +/-  0.1 ms (scratch buffer    1.1KB) -> 110917
s =    64, t =   512 took  295.3 +/-  0.0 ms (scratch buffer    2.1KB) -> 110952
s =   128, t =   512 took  590.7 +/-  0.1 ms (scratch buffer    4.1KB) -> 110938
s =   256, t =   512 took 1182.3 +/-  0.1 ms (scratch buffer    8.2KB) -> 110862
s =   512, t =   512 took 2362.9 +/-  0.1 ms (scratch buffer   16.4KB) -> 110944

Average time-performance index:     110840 +/- 81 (s = 512)
Average space-performance index:    110914 +/- 66 (t = 512)

Total test time: 18.7 seconds

4

pi@pihole-v6:~ $ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took   94.3 +/- 20.0 ms (scratch buffer   16.4KB) -> 86878
s =   512, t =    32 took  148.5 +/-  0.1 ms (scratch buffer   16.4KB) -> 110323
s =   512, t =    64 took  296.9 +/-  0.1 ms (scratch buffer   16.4KB) -> 110380
s =   512, t =   128 took  592.7 +/-  0.1 ms (scratch buffer   16.4KB) -> 110569
s =   512, t =   256 took 1184.7 +/-  0.2 ms (scratch buffer   16.4KB) -> 110634
s =   512, t =   512 took 2371.1 +/-  0.1 ms (scratch buffer   16.4KB) -> 110558

Running space-performance test:
s =     8, t =   512 took   37.0 +/-  0.0 ms (scratch buffer  288.0 B) -> 110733
s =    16, t =   512 took   73.9 +/-  0.0 ms (scratch buffer  544.0 B) -> 110855
s =    32, t =   512 took  148.7 +/-  0.2 ms (scratch buffer    1.1KB) -> 110195
s =    64, t =   512 took  297.3 +/-  0.0 ms (scratch buffer    2.1KB) -> 110213
s =   128, t =   512 took  596.5 +/-  0.0 ms (scratch buffer    4.1KB) -> 109874
s =   256, t =   512 took 1193.9 +/-  0.6 ms (scratch buffer    8.2KB) -> 109787
s =   512, t =   512 took 2371.2 +/-  0.5 ms (scratch buffer   16.4KB) -> 110555

Average time-performance index:     110493 +/- 130 (s = 512)
Average space-performance index:    110316 +/- 390 (t = 512)

Total test time: 18.8 seconds

Xen paravirtualized on an old Intel NUC (Pi-hole & Unbound dedicated):

$ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took   65.2 +/-  0.0 ms (scratch buffer   16.4KB) -> 125588
s =   512, t =    32 took  130.0 +/-  0.0 ms (scratch buffer   16.4KB) -> 126053
s =   512, t =    64 took  259.7 +/-  0.4 ms (scratch buffer   16.4KB) -> 126165
s =   512, t =   128 took  520.5 +/-  0.2 ms (scratch buffer   16.4KB) -> 125918
s =   512, t =   256 took 1039.3 +/-  0.8 ms (scratch buffer   16.4KB) -> 126116
s =   512, t =   512 took 2078.0 +/-  1.9 ms (scratch buffer   16.4KB) -> 126152

Running space-performance test:
s =     8, t =   512 took   32.5 +/-  0.0 ms (scratch buffer  288.0 B) -> 126164
s =    16, t =   512 took   64.9 +/-  0.0 ms (scratch buffer  544.0 B) -> 126314
s =    32, t =   512 took  130.6 +/-  0.8 ms (scratch buffer    1.1KB) -> 125414
s =    64, t =   512 took  259.4 +/-  0.1 ms (scratch buffer    2.1KB) -> 126336
s =   128, t =   512 took  520.5 +/-  1.7 ms (scratch buffer    4.1KB) -> 125911
s =   256, t =   512 took 1044.9 +/-  2.7 ms (scratch buffer    8.2KB) -> 125440
s =   512, t =   512 took 2076.3 +/-  1.9 ms (scratch buffer   16.4KB) -> 126257

Average time-performance index:     126081 +/- 150 (s = 512)
Average space-performance index:    125977 +/- 507 (t = 512)

Total test time: 16.4 seconds
$ hostnamectl
 Static hostname: ph6b
       Icon name: computer-vm
         Chassis: vm ð´
      Machine ID: xxx
         Boot ID: xxx
  Virtualization: xen
Operating System: Debian GNU/Linux 12 (bookworm)
          Kernel: Linux 6.1.0-13-amd64
    Architecture: x86-64
$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  2
  On-line CPU(s) list:   0,1
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz
    CPU family:          6
    Model:               142
    Thread(s) per core:  2
    Core(s) per socket:  1
    Socket(s):           1
    Stepping:            9
    BogoMIPS:            4799.99
    Flags:               fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm con
                         stant_tsc rep_good nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes
                         xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault ssbd ibrs ibpb stibp fsgsbase bmi1
                          avx2 bmi2 erms rtm rdseed adx clflushopt xsaveopt xsavec xgetbv1 md_clear
Virtualization features:
  Hypervisor vendor:     Xen
  Virtualization type:   full
Caches (sum of all):
  L1d:                   32 KiB (1 instance)
  L1i:                   32 KiB (1 instance)
  L2:                    256 KiB (1 instance)
  L3:                    3 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0,1
Vulnerabilities:
  Gather data sampling:  Unknown: Dependent on hypervisor status
  Itlb multihit:         KVM: Mitigation: VMX unsupported
  L1tf:                  Mitigation; PTE Inversion
  Mds:                   Mitigation; Clear CPU buffers; SMT Host state unknown
  Meltdown:              Unknown (XEN PV detected, hypervisor mitigation required)
  Mmio stale data:       Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
  Retbleed:              Mitigation; IBRS
  Spec rstack overflow:  Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; IBRS, IBPB conditional, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Unknown: Dependent on hypervisor status
  Tsx async abort:       Mitigation; Clear CPU buffers; SMT Host state unknown
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           957Mi       124Mi        61Mi       2.1Mi       790Mi       832Mi
Swap:          2.0Gi          0B       2.0Gi

Pi Zero 2 running Ubuntu server 22.04.3

pi@pi0-2:~$ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took  197.4 +/-  2.3 ms (scratch buffer   16.4KB) -> 41509
s =   512, t =    32 took  389.3 +/-  0.1 ms (scratch buffer   16.4KB) -> 42090
s =   512, t =    64 took  778.1 +/-  0.3 ms (scratch buffer   16.4KB) -> 42114
s =   512, t =   128 took 1554.3 +/-  0.5 ms (scratch buffer   16.4KB) -> 42163
s =   512, t =   256 took 3109.9 +/-  1.7 ms (scratch buffer   16.4KB) -> 42146

Running space-performance test:
s =     8, t =   512 took   97.1 +/-  0.0 ms (scratch buffer  288.0 B) -> 42191
s =    16, t =   512 took  194.0 +/-  0.0 ms (scratch buffer  544.0 B) -> 42218
s =    32, t =   512 took  387.9 +/-  0.1 ms (scratch buffer    1.1KB) -> 42236
s =    64, t =   512 took  776.4 +/-  0.5 ms (scratch buffer    2.1KB) -> 42203
s =   128, t =   512 took 1553.6 +/-  0.1 ms (scratch buffer    4.1KB) -> 42185
s =   256, t =   512 took 3105.5 +/-  0.1 ms (scratch buffer    8.2KB) -> 42207

Average time-performance index:      42129 +/- 32 (s = 512)
Average space-performance index:     42207 +/- 22 (t = 512)

Total test time: 24.3 seconds

LXC Container on Proxmox Debian 12.3 - 8GB RAM - Intel Pentium Silver J5005 CPU @ 1.50GHz, 4 Kerne (2 Kerne used for pihole)

Running time-performance test:
s = 512, t = 16 took 28.1 +/- 0.4 ms (scratch buffer 16.4KB) -> 291096
s = 512, t = 32 took 56.3 +/- 0.1 ms (scratch buffer 16.4KB) -> 290935
s = 512, t = 64 took 115.9 +/- 5.0 ms (scratch buffer 16.4KB) -> 282669
s = 512, t = 128 took 221.7 +/- 0.4 ms (scratch buffer 16.4KB) -> 295580
s = 512, t = 256 took 443.0 +/- 0.5 ms (scratch buffer 16.4KB) -> 295890
s = 512, t = 512 took 883.4 +/- 0.5 ms (scratch buffer 16.4KB) -> 296748
s = 512, t = 1024 took 1802.9 +/- 21.2 ms (scratch buffer 16.4KB) -> 290795
s = 512, t = 2048 took 3570.8 +/- 5.0 ms (scratch buffer 16.4KB) -> 293653

Running space-performance test:
s = 8, t = 512 took 13.8 +/- 0.1 ms (scratch buffer 288.0 B) -> 296410
s = 16, t = 512 took 27.6 +/- 0.2 ms (scratch buffer 544.0 B) -> 296611
s = 32, t = 512 took 55.1 +/- 0.1 ms (scratch buffer 1.1KB) -> 297318
s = 64, t = 512 took 110.0 +/- 0.2 ms (scratch buffer 2.1KB) -> 297861
s = 128, t = 512 took 220.8 +/- 0.6 ms (scratch buffer 4.1KB) -> 296789
s = 256, t = 512 took 441.3 +/- 0.4 ms (scratch buffer 8.2KB) -> 297037
s = 512, t = 512 took 885.7 +/- 0.5 ms (scratch buffer 16.4KB) -> 295963
s = 1024, t = 512 took 1775.6 +/- 5.0 ms (scratch buffer 32.8KB) -> 295282
s = 2048, t = 512 took 3558.3 +/- 0.4 ms (scratch buffer 65.6KB) -> 294688

Average time-performance index: 292406 +/- 6493 (s = 512)
Average space-performance index: 296443 +/- 1271 (t = 512)

Total test time: 28.4 seconds

Didnt install but downed the binary instead on my Raspi 1B.
Are these limited results expected or do I really need to install v6?

$ wget https://ftl.pi-hole.net/development-v6/pihole-FTL-armv6
[..]
2023-12-13 14:01:35 (1.99 MB/s) - ‘pihole-FTL-armv6’ saved [22118728/22118728]
$ chmod +x pihole-FTL-armv6
$
$ ./pihole-FTL-armv6 --perf
Running time-performance test:
s =   512, t =    16 took  701.4 +/-  1.3 ms (scratch buffer   16.4KB) -> 11680

Running space-performance test:
s =     8, t =   512 took  348.7 +/-  1.5 ms (scratch buffer  288.0 B) -> 11745
s =    16, t =   512 took  694.5 +/-  1.0 ms (scratch buffer  544.0 B) -> 11796

Average time-performance index:        nan +/- nan (s = 512)
Average space-performance index:     11771 +/- 45 (t = 512)

Total test time: 3.5 seconds
$ cat /proc/device-tree/model
Raspberry Pi Model B Rev 1
$ hostnamectl
   Static hostname: ph5a
         Icon name: computer
        Machine ID: xxx
           Boot ID: xxx
  Operating System: Raspbian GNU/Linux 10 (buster)
            Kernel: Linux 5.10.103+
      Architecture: arm
$ lscpu
Architecture:        armv6l
Byte Order:          Little Endian
CPU(s):              1
On-line CPU(s) list: 0
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           1
Vendor ID:           ARM
Model:               7
Model name:          ARM1176
Stepping:            r0p7
CPU max MHz:         700.0000
CPU min MHz:         700.0000
BogoMIPS:            697.95
Flags:               half thumb fastmult vfp edsp java tls
$ free -h
              total        used        free      shared  buff/cache   available
Mem:          224Mi        43Mi        61Mi       3.0Mi       118Mi       127Mi
Swap:          99Mi        41Mi        58Mi

Thanks! This once again highlights that Pi-hole needs to be running on the lowest-end to really beefy software.

No that's perfectly sufficient. FTL comes with "batteries-included"

2 Likes

Ok so we can run hashing performance tests with that binary, do DHCP discoveries, run SQL queries, interpret Lua, do regex testing and all the other stuff that comes with dnsmasq.
Did I forget any :wink:

$ cat /proc/device-tree/model
Raspberry Pi 2 Model B Rev 1.1
$ ./pihole-FTL-armv7 --perf
Running time-performance test:
s =   512, t =    16 took  497.8 +/- 15.8 ms (scratch buffer   16.4KB) -> 16455
s =   512, t =    32 took  964.6 +/-  0.3 ms (scratch buffer   16.4KB) -> 16985

Running space-performance test:
s =     8, t =   512 took  241.1 +/-  1.1 ms (scratch buffer  288.0 B) -> 16991
s =    16, t =   512 took  481.6 +/-  0.6 ms (scratch buffer  544.0 B) -> 17009
s =    32, t =   512 took  962.6 +/-  0.1 ms (scratch buffer    1.1KB) -> 17021

Average time-performance index:      16985 +/- 6 (s = 512)
Average space-performance index:     17007 +/- 46 (t = 512)

Total test time: 6.3 seconds
$ hostnamectl
   Static hostname: arcade02
         Icon name: computer
        Machine ID: xxx
           Boot ID: xxx
  Operating System: Raspbian GNU/Linux 10 (buster)
            Kernel: Linux 5.4.72-v7+
      Architecture: arm
$ lscpu
Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
Vendor ID:           ARM
Model:               5
Model name:          Cortex-A7
Stepping:            r0p5
CPU max MHz:         900.0000
CPU min MHz:         600.0000
BogoMIPS:            38.40
Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
$ free -h
              total        used        free      shared  buff/cache   available
Mem:          924Mi        47Mi       771Mi        12Mi       105Mi       815Mi
Swap:          99Mi          0B        99Mi

Using the same "batteries included" approach, this was a Linux Mint VM running with 4 threads and 8 GB under Fusion 12 on this Mac with 3.5 GHz Quad-Core Intel Core i7 and 1600 MHz DDR3 memory

$ ./pihole-FTL-amd64 --perf
Running time-performance test:
s =   512, t =    16 took   45.8 +/-  0.1 ms (scratch buffer   16.4KB) -> 178670
s =   512, t =    32 took   88.4 +/-  2.5 ms (scratch buffer   16.4KB) -> 185337
s =   512, t =    64 took  183.9 +/-  6.1 ms (scratch buffer   16.4KB) -> 178222
s =   512, t =   128 took  352.5 +/-  4.7 ms (scratch buffer   16.4KB) -> 185917
s =   512, t =   256 took  701.2 +/-  4.5 ms (scratch buffer   16.4KB) -> 186919

Running space-performance test:
s =     8, t =   512 took   22.6 +/-  0.6 ms (scratch buffer  288.0 B) -> 180922
s =    16, t =   512 took   45.3 +/-  1.8 ms (scratch buffer  544.0 B) -> 180941
s =    32, t =   512 took   88.7 +/-  1.2 ms (scratch buffer    1.1KB) -> 184748
s =    64, t =   512 took  175.3 +/-  0.4 ms (scratch buffer    2.1KB) -> 186975
s =   128, t =   512 took  359.0 +/-  9.4 ms (scratch buffer    4.1KB) -> 182547
s =   256, t =   512 took  703.8 +/-  6.9 ms (scratch buffer    8.2KB) -> 186226

Average time-performance index:     184194 +/- 5360 (s = 512)
Average space-performance index:    183825 +/- 4839 (t = 512)

Total test time: 5.5 seconds

Let's look at the help text. Yes, you forgot some:

You can scan for other devices on your network link to check for IP conflicts (arp-scan), use high performance SHA256 hashing (sha256sum), convert domains from/to punycode (idn2), check your domain list files for compatibility with gravity (gravity checkList), verify/parse your X.509 TLS certificates (--read-x509), generate new ones either with RSA or EC (--gen-x509) use a GZIP de-/compressor (--compress) and do what you said already above. ZIP handling could be offered as well but this is not exposed right now.

1 Like

Should be renamed into FTL-sak from Swiss army knife :wink:

2 Likes

It's just missing one little feature... :smiley:

$ ./pihole-FTL --doom
FTL transport to Phobos in progress... docking complete

pihole-FTL-doom

4 Likes

DL6ER will name it "Deutsches Army Knife"

1 Like

Most likely he'll name his pet: "Schneller als leichte Offiziersmesser" :wink:

1 Like

rpi4 - Operating System: Debian GNU/Linux 12 (bookworm)

rpi4-20230612:~#  pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took   93.0 +/-  3.8 ms (scratch buffer   16.4KB) -> 88086
s =   512, t =    32 took  177.9 +/-  0.0 ms (scratch buffer   16.4KB) -> 92112
s =   512, t =    64 took  355.4 +/-  0.0 ms (scratch buffer   16.4KB) -> 92195
s =   512, t =   128 took  710.5 +/-  0.1 ms (scratch buffer   16.4KB) -> 92234

Running space-performance test:
s =     8, t =   512 took   44.4 +/-  0.0 ms (scratch buffer  288.0 B) -> 92267
s =    16, t =   512 took   88.8 +/-  0.0 ms (scratch buffer  544.0 B) -> 92288
s =    32, t =   512 took  177.6 +/-  0.0 ms (scratch buffer    1.1KB) -> 92264
s =    64, t =   512 took  355.0 +/-  0.0 ms (scratch buffer    2.1KB) -> 92306
s =   128, t =   512 took  710.1 +/-  0.0 ms (scratch buffer    4.1KB) -> 92293

Average time-performance index:      92180 +/- 52 (s = 512)
Average space-performance index:     92284 +/- 20 (t = 512)

Total test time: 5.4 seconds

Hi,
Pi V4

admin@hanloppi:~ $ cat /proc/device-tree/model
Raspberry Pi 4 Model B Rev 1.5
admin@hanloppi:~ $ hostnamectl
Static hostname: hanloppi
Icon name: computer
Machine ID: xxx
Boot ID: xxx
Operating System: Debian GNU/Linux 11 (bullseye)
Kernel: Linux 6.1.21-v8+
Architecture: arm64
admin@hanloppi:~ $ lscpu
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
Vendor ID:                       ARM
Model:                           3
Model name:                      Cortex-A72
Stepping:                        r0p3
CPU max MHz:                     1800.0000
CPU min MHz:                     600.0000
BogoMIPS:                        108.00
L1d cache:                       128 KiB
L1i cache:                       192 KiB
L2 cache:                        1 MiB
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Vulnerable
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid
admin@hanloppi:~ $ free -h
                    total        used        free      shared  buff/cache   available
Mem:           3.7Gi       1.1Gi       1.8Gi        36Mi       893Mi       2.5Gi
Swap:           99Mi          0B        99Mi
admin@hanloppi:~ $ pihole-FTL --perf
Running time-performance test:
s =   512, t =    16 took  104.5 +/- 30.0 ms (scratch buffer   16.4KB) -> 78410
s =   512, t =    32 took  148.6 +/-  0.1 ms (scratch buffer   16.4KB) -> 110244
s =   512, t =    64 took  296.7 +/-  0.1 ms (scratch buffer   16.4KB) -> 110428
s =   512, t =   128 took  593.8 +/-  1.0 ms (scratch buffer   16.4KB) -> 110372

Running space-performance test:
s =     8, t =   512 took   37.2 +/-  0.1 ms (scratch buffer  288.0 B) -> 110222
s =    16, t =   512 took   74.0 +/-  0.0 ms (scratch buffer  544.0 B) -> 110702
s =    32, t =   512 took  150.3 +/-  2.2 ms (scratch buffer    1.1KB) -> 109025
s =    64, t =   512 took  298.0 +/-  0.9 ms (scratch buffer    2.1KB) -> 109977
s =   128, t =   512 took  594.7 +/-  1.6 ms (scratch buffer    4.1KB) -> 110194
Average time-performance index:     110348 +/- 142 (s = 512)
Average space-performance index:    110029 +/- 922 (t = 512)
Total test time: 4.6 seconds

cat /proc/device-tree/model
Raspberry Pi Zero 2 W Rev 1.0

uname -a
Linux zero2w 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux

cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian

./pihole-FTL-armv7 --perf
Running time-performance test:
s = 512, t = 16 took 325.5 +/- 14.1 ms (scratch buffer 16.4KB) -> 25167
s = 512, t = 32 took 621.9 +/- 0.3 ms (scratch buffer 16.4KB) -> 26345

Running space-performance test:
s = 8, t = 512 took 155.3 +/- 0.2 ms (scratch buffer 288.0 B) -> 26367
s = 16, t = 512 took 310.1 +/- 0.1 ms (scratch buffer 544.0 B) -> 26416
s = 32, t = 512 took 620.6 +/- 0.0 ms (scratch buffer 1.1KB) -> 26402

Average time-performance index: 26345 +/- 12 (s = 512)
Average space-performance index: 26395 +/- 27 (t = 512)

Total test time: 4.1 seconds

./pihole-FTL-armv6 --perf
Running time-performance test:
s = 512, t = 16 took 326.7 +/- 14.0 ms (scratch buffer 16.4KB) -> 25077
s = 512, t = 32 took 623.4 +/- 0.1 ms (scratch buffer 16.4KB) -> 26280

Running space-performance test:
s = 8, t = 512 took 155.2 +/- 0.1 ms (scratch buffer 288.0 B) -> 26396
s = 16, t = 512 took 310.6 +/- 0.1 ms (scratch buffer 544.0 B) -> 26372
s = 32, t = 512 took 621.6 +/- 0.0 ms (scratch buffer 1.1KB) -> 26360

Average time-performance index: 26280 +/- 3 (s = 512)
Average space-performance index: 26376 +/- 19 (t = 512)

Total test time: 4.1 seconds

./pihole-FTL-arm64 --perf
Running time-performance test:
s = 512, t = 16 took 209.9 +/- 17.7 ms (scratch buffer 16.4KB) -> 39031
s = 512, t = 32 took 384.7 +/- 0.0 ms (scratch buffer 16.4KB) -> 42591
s = 512, t = 64 took 766.1 +/- 0.6 ms (scratch buffer 16.4KB) -> 42770

Running space-performance test:
s = 8, t = 512 took 96.0 +/- 0.1 ms (scratch buffer 288.0 B) -> 42685
s = 16, t = 512 took 191.7 +/- 0.3 ms (scratch buffer 544.0 B) -> 42728
s = 32, t = 512 took 383.2 +/- 0.6 ms (scratch buffer 1.1KB) -> 42754
s = 64, t = 512 took 766.9 +/- 0.0 ms (scratch buffer 2.1KB) -> 42730

Average time-performance index: 42680 +/- 93 (s = 512)
Average space-performance index: 42724 +/- 60 (t = 512)

Total test time: 5.6 seconds

pi@raspberrypi:~ $ pihole-FTL --perf
Running time-performance test:
s = 512, t = 16 took 99.7 +/- 25.4 ms (scratch buffer 16.4KB) -> 82176
s = 512, t = 32 took 148.7 +/- 0.1 ms (scratch buffer 16.4KB) -> 110150
s = 512, t = 64 took 296.6 +/- 0.1 ms (scratch buffer 16.4KB) -> 110463
s = 512, t = 128 took 593.7 +/- 0.4 ms (scratch buffer 16.4KB) -> 110377

Running space-performance test:
s = 8, t = 512 took 37.0 +/- 0.0 ms (scratch buffer 288.0 B) -> 110571
s = 16, t = 512 took 74.1 +/- 0.0 ms (scratch buffer 544.0 B) -> 110590
s = 32, t = 512 took 148.2 +/- 0.0 ms (scratch buffer 1.1KB) -> 110588
s = 64, t = 512 took 296.4 +/- 0.0 ms (scratch buffer 2.1KB) -> 110558
s = 128, t = 512 took 592.6 +/- 0.0 ms (scratch buffer 4.1KB) -> 110589

Average time-performance index: 110330 +/- 152 (s = 512)
Average space-performance index: 110579 +/- 29 (t = 512)

Total test time: 4.6 seconds

Thank you all for your contributions. They seem to confirm that we have found a pretty good sweet spot given the multitude of devices out there. I don't think we are going to change the parameters anytime soon.

I will close this topic to show other users we don't need any more metrics. Thanks again!

1 Like