Skip to content

Commit 63ac256

Browse files
committed
feat(perf): add performance comparison table for crypto operations
Add table which compares the performance of crypto operations on different hardware. This is required since it gives users a clear picture upfront about speeds they can expect. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
1 parent 2ff5b4d commit 63ac256

4 files changed

Lines changed: 266 additions & 0 deletions

File tree

source/devices/AM62LX/linux/Linux_Performance_Guide.rst

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,4 +779,70 @@ benchmark test.
779779
780780
time -v openssl speed -elapsed -evp aes-128-cbc
781781
782+
783+
Crypto Performance Comparison
784+
-----------------------------
785+
786+
The following table shows different AES/SHA algorithms throughput measured using
787+
openssl speed across DTHEv2 accelerator, ARM Cryptographic Extension (CE), and baseline ARM CPU.
788+
789+
.. csv-table:: Crypto Accelerator Performance
790+
:header: "Algorithm", "Size (bytes)", "Accelerator (MB/s)", "ARM CE (MB/s)", "ARM (MB/s)"
791+
:widths: 20, 25, 20, 20, 20
792+
793+
"aes-128-cbc", "16", "0.28", "86.86", "28.02"
794+
"aes-128-cbc", "64", "1.16", "271.43", "35.57"
795+
"aes-128-cbc", "256", "4.63", "568.25", "38.33"
796+
"aes-128-cbc", "1024", "17.15", "800.83", "39.08"
797+
"aes-128-cbc", "8192", "82.06", "908.72", "39.31"
798+
"aes-128-cbc", "16384", "112.48", "917.23", "39.02"
799+
"aes-128-ecb", "16 bytes", "0.25", "93.16", "29.65"
800+
"aes-128-ecb", "64 bytes", "1.04", "255.43", "36.71"
801+
"aes-128-ecb", "256 bytes", "4.27", "584.00", "39.18"
802+
"aes-128-ecb", "1024 bytes", "15.85", "880.24", "39.87"
803+
"aes-128-ecb", "8192 bytes", "78.94", "1016.25", "40.06"
804+
"aes-128-ecb", "16384 bytes", "109.80", "1041.75", "40.05"
805+
"aes-192-cbc", "16 bytes", "0.19", "83.46", "25.01"
806+
"aes-192-cbc", "64 bytes", "1.05", "245.60", "30.80"
807+
"aes-192-cbc", "256 bytes", "4.22", "470.37", "32.16"
808+
"aes-192-cbc", "1024 bytes", "15.82", "621.54", "33.41"
809+
"aes-192-cbc", "8192 bytes", "56.12", "685.22", "33.57"
810+
"aes-192-cbc", "16384 bytes", "94.11", "688.92", "33.57"
811+
"aes-192-ecb", "16 bytes", "0.19", "88.85", "26.24"
812+
"aes-192-ecb", "64 bytes", "0.95", "241.29", "31.64"
813+
"aes-192-ecb", "256 bytes", "4.28", "533.39", "33.46"
814+
"aes-192-ecb", "1024 bytes", "16.08", "778.58", "33.21"
815+
"aes-192-ecb", "8192 bytes", "74.64", "897.90", "34.09"
816+
"aes-192-ecb", "16384 bytes", "100.83", "906.14", "34.08"
817+
"aes-256-cbc", "16 bytes", "0.19", "81.34", "22.37"
818+
"aes-256-cbc", "64 bytes", "1.05", "228.13", "27.06"
819+
"aes-256-cbc", "256 bytes", "4.35", "410.47", "28.68"
820+
"aes-256-cbc", "1024 bytes", "15.88", "521.18", "29.06"
821+
"aes-256-cbc", "8192 bytes", "70.04", "565.39", "29.25"
822+
"aes-256-cbc", "16384 bytes", "90.28", "567.93", "29.25"
823+
"sha2-256", "16 bytes", "0.20", "11.66", "7.69"
824+
"sha2-256", "64 bytes", "0.60", "42.28", "21.87"
825+
"sha2-256", "256 bytes", "1.43", "137.06", "48.05"
826+
"sha2-256", "1024 bytes", "6.81", "310.52", "68.74"
827+
"sha2-256", "8192 bytes", "57.47", "494.56", "78.58"
828+
"sha2-256", "16384 bytes", "99.41", "514.70", "79.38"
829+
"sha2-512", "16 bytes", "0.13", "6.80", "6.89"
830+
"sha2-512", "64 bytes", "0.67", "27.30", "27.19"
831+
"sha2-512", "256 bytes", "1.87", "57.70", "58.17"
832+
"sha2-512", "1024 bytes", "6.26", "92.97", "97.56"
833+
"sha2-512", "8192 bytes", "53.19", "121.49", "121.70"
834+
"sha2-512", "16384 bytes", "103.87", "123.73", "123.76"
835+
836+
.. csv-table:: CPU Usage %
837+
:header: "Algorithm", "Accelerator (%)", "ARM CE (%)", "ARM (%)"
838+
:widths: 25, 25, 25, 25
839+
840+
"aes-128-cbc", "18%", "99%", "99%"
841+
"aes-128-ecb", "15%", "99%", "99%"
842+
"aes-192-cbc", "16%", "99%", "99%"
843+
"aes-192-ecb", "15%", "99%", "99%"
844+
"aes-256-cbc", "14%", "99%", "99%"
845+
"sha2-256", "16%", "99%", "99%"
846+
"sha2-512", "20%", "98%", "99%"
847+
782848
|

source/devices/AM62PX/linux/Linux_Performance_Guide.rst

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,4 +793,69 @@ Listed for each algorithm are the code snippets used to run each
793793

794794
time -v openssl speed -elapsed -evp aes-128-cbc
795795

796+
797+
Crypto Performance Comparison
798+
-----------------------------
799+
800+
The following table shows different AES/SHA algorithms throughput measured using openssl speed across the SA3UL accelerator, ARM Cryptographic Extension (CE), and baseline ARM CPU.
801+
802+
.. csv-table:: Crypto Accelerator Performance
803+
:header: "Algorithm", "Size (bytes)", "Accelerator (MB/s)", "ARM CE (MB/s)", "ARM (MB/s)"
804+
:widths: 20, 25, 20, 20, 20
805+
806+
"aes-128-cbc", "16", "0.43", "97.37", "31.46"
807+
"aes-128-cbc", "64", "1.88", "304.29", "39.87"
808+
"aes-128-cbc", "256", "7.18", "636.54", "42.97"
809+
"aes-128-cbc", "1024", "23.80", "897.51", "43.82"
810+
"aes-128-cbc", "8192", "71.31", "1018.75", "44.05"
811+
"aes-128-cbc", "16384", "83.60", "1028.48", "43.99"
812+
"aes-128-ecb", "16 bytes", "0.44", "104.44", "32.93"
813+
"aes-128-ecb", "64 bytes", "1.96", "286.37", "41.05"
814+
"aes-128-ecb", "256 bytes", "7.33", "654.30", "43.89"
815+
"aes-128-ecb", "1024 bytes", "24.65", "986.46", "44.66"
816+
"aes-128-ecb", "8192 bytes", "74.44", "1156.52", "44.89"
817+
"aes-128-ecb", "16384 bytes", "86.21", "1167.59", "44.90"
818+
"aes-192-cbc", "16 bytes", "0.43", "93.68", "27.74"
819+
"aes-192-cbc", "64 bytes", "1.86", "275.43", "34.40"
820+
"aes-192-cbc", "256 bytes", "7.13", "526.69", "36.78"
821+
"aes-192-cbc", "1024 bytes", "23.38", "695.99", "37.42"
822+
"aes-192-cbc", "8192 bytes", "65.72", "767.62", "37.61"
823+
"aes-192-cbc", "16384 bytes", "76.48", "773.36", "37.62"
824+
"aes-192-ecb", "16 bytes", "0.44", "100.12", "29.42"
825+
"aes-192-ecb", "64 bytes", "1.92", "270.42", "35.47"
826+
"aes-192-ecb", "256 bytes", "7.23", "598.15", "37.51"
827+
"aes-192-ecb", "1024 bytes", "24.01", "873.05", "38.05"
828+
"aes-192-ecb", "8192 bytes", "67.70", "1006.31", "38.21"
829+
"aes-192-ecb", "16384 bytes", "76.94", "1009.53", "38.21"
830+
"aes-256-cbc", "16 bytes", "0.43", "91.27", "25.26"
831+
"aes-256-cbc", "64 bytes", "1.90", "256.04", "30.42"
832+
"aes-256-cbc", "256 bytes", "6.95", "460.32", "32.19"
833+
"aes-256-cbc", "1024 bytes", "22.74", "584.52", "32.66"
834+
"aes-256-cbc", "8192 bytes", "60.63", "633.94", "32.81"
835+
"aes-256-cbc", "16384 bytes", "69.65", "637.81", "32.80"
836+
"sha2-256", "16 bytes", "0.50", "13.01", "8.63"
837+
"sha2-256", "64 bytes", "2.00", "47.23", "24.52"
838+
"sha2-256", "256 bytes", "7.90", "153.20", "53.84"
839+
"sha2-256", "1024 bytes", "30.19", "347.42", "77.02"
840+
"sha2-256", "8192 bytes", "177.34", "554.04", "88.05"
841+
"sha2-256", "16384 bytes", "272.52", "578.64", "88.95"
842+
"sha2-512", "16 bytes", "0.50", "7.63", "7.64"
843+
"sha2-512", "64 bytes", "2.00", "30.60", "30.40"
844+
"sha2-512", "256 bytes", "7.59", "65.05", "65.13"
845+
"sha2-512", "1024 bytes", "26.11", "109.24", "109.29"
846+
"sha2-512", "8192 bytes", "88.95", "136.35", "136.29"
847+
"sha2-512", "16384 bytes", "107.80", "138.74", "138.64"
848+
849+
.. csv-table:: CPU Usage %
850+
:header: "Algorithm", "Accelerator (%)", "ARM CE (%)", "ARM (%)"
851+
:widths: 25, 25, 25, 25
852+
853+
"aes-128-cbc", "34%", "99%", "99%"
854+
"aes-128-ecb", "34%", "99%", "99%"
855+
"aes-192-cbc", "33%", "99%", "99%"
856+
"aes-192-ecb", "33%", "99%", "99%"
857+
"aes-256-cbc", "32%", "99%", "99%"
858+
"sha2-256", "94%", "99%", "99%"
859+
"sha2-512", "95%", "99%", "99%"
860+
796861
|

source/devices/AM62X/linux/Linux_Performance_Guide.rst

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -923,6 +923,72 @@ Listed for each algorithm are the code snippets used to run each
923923

924924
time -v openssl speed -elapsed -evp aes-128-cbc
925925

926+
927+
Crypto Performance Comparison
928+
-----------------------------
929+
930+
The following table shows different AES/SHA algorithms throughput measured using
931+
openssl speed across the SA3UL accelerator, ARM Cryptographic Extension (CE), and baseline ARM CPU.
932+
933+
.. csv-table:: Crypto Accelerator Performance
934+
:header: "Algorithm", "Size (bytes)", "Accelerator (MB/s)", "ARM CE (MB/s)", "ARM (MB/s)"
935+
:widths: 20, 25, 20, 20, 20
936+
937+
"aes-128-cbc", "16", "0.38", "95.83", "31.06"
938+
"aes-128-cbc", "64", "1.60", "300.27", "39.69"
939+
"aes-128-cbc", "256", "6.08", "632.25", "42.89"
940+
"aes-128-cbc", "1024", "23.90", "895.17", "43.74"
941+
"aes-128-cbc", "8192", "93.02", "1018.16", "44.04"
942+
"aes-128-cbc", "16384", "117.17", "1028.05", "44.03"
943+
"aes-128-ecb", "16 bytes", "0.38", "104.39", "33.22"
944+
"aes-128-ecb", "64 bytes", "1.65", "286.28", "41.15"
945+
"aes-128-ecb", "256 bytes", "6.12", "653.72", "43.92"
946+
"aes-128-ecb", "1024 bytes", "23.97", "986.05", "44.66"
947+
"aes-128-ecb", "8192 bytes", "95.95", "1156.00", "44.89"
948+
"aes-128-ecb", "16384 bytes", "123.02", "1169.81", "44.90"
949+
"aes-192-cbc", "16 bytes", "0.38", "93.65", "28.01"
950+
"aes-192-cbc", "64 bytes", "1.57", "275.37", "34.50"
951+
"aes-192-cbc", "256 bytes", "6.06", "526.80", "36.80"
952+
"aes-192-cbc", "1024 bytes", "23.68", "696.19", "37.42"
953+
"aes-192-cbc", "8192 bytes", "86.63", "767.44", "37.61"
954+
"aes-192-cbc", "16384 bytes", "109.92", "773.00", "37.62"
955+
"aes-192-ecb", "16 bytes", "0.38", "99.14", "29.40"
956+
"aes-192-ecb", "64 bytes", "1.65", "268.53", "35.45"
957+
"aes-192-ecb", "256 bytes", "6.09", "594.94", "37.48"
958+
"aes-192-ecb", "1024 bytes", "23.88", "871.28", "38.02"
959+
"aes-192-ecb", "8192 bytes", "92.35", "1005.13", "38.19"
960+
"aes-192-ecb", "16384 bytes", "115.74", "1016.20", "38.16"
961+
"aes-256-cbc", "16 bytes", "0.38", "91.26", "25.25"
962+
"aes-256-cbc", "64 bytes", "1.52", "255.82", "30.41"
963+
"aes-256-cbc", "256 bytes", "6.05", "460.21", "32.18"
964+
"aes-256-cbc", "1024 bytes", "23.88", "584.38", "32.66"
965+
"aes-256-cbc", "8192 bytes", "82.42", "633.85", "32.78"
966+
"aes-256-cbc", "16384 bytes", "103.74", "637.05", "32.75"
967+
"sha2-256", "16 bytes", "0.50", "12.97", "8.61"
968+
"sha2-256", "64 bytes", "1.96", "47.09", "24.49"
969+
"sha2-256", "256 bytes", "7.74", "152.84", "53.85"
970+
"sha2-256", "1024 bytes", "29.85", "347.00", "77.00"
971+
"sha2-256", "8192 bytes", "172.08", "553.98", "88.04"
972+
"sha2-256", "16384 bytes", "264.31", "578.23", "88.93"
973+
"sha2-512", "16 bytes", "0.42", "7.71", "7.73"
974+
"sha2-512", "64 bytes", "1.70", "30.78", "30.43"
975+
"sha2-512", "256 bytes", "6.05", "65.03", "65.12"
976+
"sha2-512", "1024 bytes", "23.97", "109.16", "108.88"
977+
"sha2-512", "8192 bytes", "85.19", "136.24", "136.33"
978+
"sha2-512", "16384 bytes", "105.89", "138.69", "138.64"
979+
980+
.. csv-table:: CPU Usage %
981+
:header: "Algorithm", "Accelerator (%)", "ARM CE (%)", "ARM (%)"
982+
:widths: 25, 25, 25, 25
983+
984+
"aes-128-cbc", "38%", "99%", "99%"
985+
"aes-128-ecb", "36%", "99%", "99%"
986+
"aes-192-cbc", "38%", "99%", "99%"
987+
"aes-192-ecb", "38%", "99%", "99%"
988+
"aes-256-cbc", "38%", "99%", "99%"
989+
"sha2-256", "94%", "99%", "99%"
990+
"sha2-512", "93%", "99%", "99%"
991+
926992
IPSec Software Performance
927993
--------------------------
928994

source/devices/AM64X/linux/Linux_Performance_Guide.rst

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,72 @@ System Benchmarks
3737
*****************
3838

3939
|
40+
41+
|
42+
43+
CRYPTO
44+
======
45+
46+
Crypto Performance Comparison
47+
-----------------------------
48+
49+
The following table shows different AES/SHA algorithms throughput measured using openssl speed across the SA2UL accelerator, ARM Cryptographic Extension (CE), and baseline ARM CPU.
50+
51+
.. csv-table:: Crypto Accelerator Performance
52+
:header: "Algorithm", "Size (bytes)", "Accelerator (MB/s)", "ARM CE (MB/s)", "ARM (MB/s)"
53+
:widths: 20, 25, 20, 20, 20
54+
55+
"aes-128-cbc", "16", "0.34", "69.43", "22.18"
56+
"aes-128-cbc", "64", "1.51", "217.04", "28.34"
57+
"aes-128-cbc", "256", "5.99", "454.25", "30.63"
58+
"aes-128-cbc", "1024", "21.92", "640.51", "31.25"
59+
"aes-128-cbc", "8192", "97.97", "726.61", "31.44"
60+
"aes-128-cbc", "16384", "134.93", "727.48", "31.44"
61+
"aes-128-ecb", "16 bytes", "0.34", "73.59", "23.41"
62+
"aes-128-ecb", "64 bytes", "1.50", "202.54", "29.24"
63+
"aes-128-ecb", "256 bytes", "5.99", "464.31", "31.29"
64+
"aes-128-ecb", "1024 bytes", "21.97", "702.67", "31.86"
65+
"aes-128-ecb", "8192 bytes", "100.92", "824.92", "32.02"
66+
"aes-128-ecb", "16384 bytes", "138.82", "834.02", "32.02"
67+
"aes-192-cbc", "16 bytes", "0.33", "66.81", "19.77"
68+
"aes-192-cbc", "64 bytes", "1.47", "196.53", "24.54"
69+
"aes-192-cbc", "256 bytes", "5.82", "376.00", "26.24"
70+
"aes-192-cbc", "1024 bytes", "21.32", "496.64", "26.69"
71+
"aes-192-cbc", "8192 bytes", "93.72", "547.69", "26.84"
72+
"aes-192-cbc", "16384 bytes", "127.00", "551.73", "26.85"
73+
"aes-192-ecb", "16 bytes", "0.34", "71.43", "21.00"
74+
"aes-192-ecb", "64 bytes", "1.52", "193.03", "25.32"
75+
"aes-192-ecb", "256 bytes", "5.97", "426.73", "26.77"
76+
"aes-192-ecb", "1024 bytes", "21.91", "623.05", "27.15"
77+
"aes-192-ecb", "8192 bytes", "96.57", "718.21", "27.27"
78+
"aes-192-ecb", "16384 bytes", "130.32", "726.05", "27.24"
79+
"aes-256-cbc", "16 bytes", "0.34", "65.08", "18.03"
80+
"aes-256-cbc", "64 bytes", "1.49", "182.49", "21.70"
81+
"aes-256-cbc", "256 bytes", "5.95", "328.41", "22.96"
82+
"aes-256-cbc", "1024 bytes", "21.62", "416.88", "23.29"
83+
"aes-256-cbc", "8192 bytes", "90.38", "452.23", "23.40"
84+
"aes-256-cbc", "16384 bytes", "120.37", "454.51", "23.40"
85+
"sha2-256", "16 bytes", "0.37", "9.30", "6.14"
86+
"sha2-256", "64 bytes", "1.45", "33.77", "17.48"
87+
"sha2-256", "256 bytes", "5.80", "109.48", "38.41"
88+
"sha2-256", "1024 bytes", "22.30", "248.15", "54.93"
89+
"sha2-256", "8192 bytes", "128.88", "395.37", "62.80"
90+
"sha2-256", "16384 bytes", "196.56", "412.43", "63.41"
91+
"sha2-512", "16 bytes", "0.35", "5.51", "5.52"
92+
"sha2-512", "64 bytes", "1.42", "22.00", "21.99"
93+
"sha2-512", "256 bytes", "5.35", "46.49", "46.48"
94+
"sha2-512", "1024 bytes", "18.47", "77.98", "77.85"
95+
"sha2-512", "8192 bytes", "63.28", "97.22", "97.25"
96+
"sha2-512", "16384 bytes", "76.56", "98.87", "98.93"
97+
98+
.. csv-table:: CPU Usage %
99+
:header: "Algorithm", "Accelerator (%)", "ARM CE (%)", "ARM (%)"
100+
:widths: 25, 25, 25, 25
101+
102+
"aes-128-cbc", "39%", "99%", "99%"
103+
"aes-128-ecb", "41%", "99%", "99%"
104+
"aes-192-cbc", "39%", "99%", "99%"
105+
"aes-192-ecb", "40%", "99%", "99%"
106+
"aes-256-cbc", "38%", "99%", "99%"
107+
"sha2-256", "91%", "99%", "99%"
108+
"sha2-512", "91%", "99%", "99%"

0 commit comments

Comments
 (0)