Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[STUN] benchmark the performance of STUN #112

Closed
Tracked by #1
rainliu opened this issue Oct 15, 2021 · 4 comments
Closed
Tracked by #1

[STUN] benchmark the performance of STUN #112

rainliu opened this issue Oct 15, 2021 · 4 comments
Labels
benchmark benchmark the peformance

Comments

@rainliu
Copy link
Member

rainliu commented Oct 15, 2021

No description provided.

@rainliu rainliu added the benchmark benchmark the peformance label Oct 15, 2021
@rainliu
Copy link
Member Author

rainliu commented Oct 16, 2021

pion stun

go test -bench .
goos: windows
goarch: amd64
pkg: github.com/pion/stun
cpu: AMD Ryzen 9 5950X 16-Core Processor
BenchmarkMappedAddress_AddTo-32                 47982338                26.28 ns/op            0 B/op          0 allocs/op
BenchmarkAlternateServer_AddTo-32               40561779                28.80 ns/op            0 B/op          0 allocs/op
BenchmarkAgent_GC-32                              631060              1926 ns/op               0 B/op          0 allocs/op
BenchmarkAgent_Process-32                       59928684                21.24 ns/op            0 B/op          0 allocs/op
BenchmarkMessage_GetNotFound-32                 528635524                2.343 ns/op           0 B/op          0 allocs/op
BenchmarkMessage_Get-32                         451129684                2.827 ns/op           0 B/op          0 allocs/op
BenchmarkClient_Do-32                            1299387              1226 ns/op               0 B/op          0 allocs/op
BenchmarkErrorCode_AddTo-32                     44445925                42.66 ns/op            0 B/op          0 allocs/op
BenchmarkErrorCodeAttribute_AddTo-32            52178449                32.62 ns/op            0 B/op          0 allocs/op
BenchmarkErrorCodeAttribute_GetFrom-32          194328836                6.317 ns/op           0 B/op          0 allocs/op
BenchmarkFingerprint_AddTo-32                   25533055                45.12 ns/op      975.20 MB/s           0 B/op          0 allocs/op
BenchmarkFingerprint_Check-32                   32434273                31.56 ns/op     1647.84 MB/s           0 B/op          0 allocs/op
BenchmarkBuildOverhead/Build-32                  9230839               135.8 ns/op             0 B/op          0 allocs/op
BenchmarkBuildOverhead/BuildNonPointer-32        4615401               254.9 ns/op            76 B/op          4 allocs/op
BenchmarkBuildOverhead/Raw-32                   10344871               108.2 ns/op             0 B/op          0 allocs/op
BenchmarkMessage_ForEach-32                     59140023                22.82 ns/op            0 B/op          0 allocs/op
BenchmarkMessageIntegrity_AddTo-32               1538462               798.2 ns/op        25.06 MB/s           0 B/op          0 allocs/op
BenchmarkMessageIntegrity_Check-32               1530613               741.9 ns/op        43.13 MB/s           0 B/op          0 allocs/op
BenchmarkMessage_Write-32                       60004500                21.27 ns/op     1316.69 MB/s           0 B/op          0 allocs/op
BenchmarkMessageType_Value-32                   1000000000               0.4370 ns/op          0 B/op          0 allocs/op
BenchmarkMessage_WriteTo-32                     183343208                6.668 ns/op           0 B/op          0 allocs/op
BenchmarkMessage_ReadFrom-32                    63161218                16.21 ns/op     1233.59 MB/s           0 B/op          0 allocs/op
BenchmarkMessage_ReadBytes-32                   100000000               10.51 ns/op     1902.91 MB/s           0 B/op          0 allocs/op
BenchmarkIsMessage-32                           1000000000               0.9455 ns/op   21152.60 MB/s          0 B/op          0 allocs/op
BenchmarkMessage_NewTransactionID-32             9194676               120.3 ns/op             0 B/op          0 allocs/op
BenchmarkMessageFull-32                          9337772               132.6 ns/op             0 B/op          0 allocs/op
BenchmarkMessageFullHardcore-32                 21536079                59.78 ns/op            0 B/op          0 allocs/op
BenchmarkMessage_WriteHeader-32                 165629160                8.456 ns/op           0 B/op          0 allocs/op
BenchmarkMessage_CloneTo-32                     38710801                30.13 ns/op     2256.59 MB/s           0 B/op          0 allocs/op
BenchmarkMessage_AddTo-32                       872665710                1.444 ns/op           0 B/op          0 allocs/op
BenchmarkDecode-32                              75000937                14.67 ns/op            0 B/op          0 allocs/op
BenchmarkUsername_AddTo-32                      70594464                15.09 ns/op            0 B/op          0 allocs/op
BenchmarkUsername_GetFrom-32                    219573715                5.763 ns/op           0 B/op          0 allocs/op
BenchmarkNonce_AddTo-32                         52175500                20.63 ns/op            0 B/op          0 allocs/op
BenchmarkNonce_AddTo_BadLength-32               387100269                3.458 ns/op           0 B/op          0 allocs/op
BenchmarkNonce_GetFrom-32                       241686682                5.137 ns/op           0 B/op          0 allocs/op
BenchmarkUnknownAttributes/AddTo-32             46156153                23.50 ns/op            0 B/op          0 allocs/op
BenchmarkUnknownAttributes/GetFrom-32           92318343                11.25 ns/op            0 B/op          0 allocs/op
BenchmarkXOR-32                                 153180528                7.488 ns/op    136751.80 MB/s
BenchmarkXORSafe-32                             23222464                45.04 ns/op     22735.86 MB/s
BenchmarkXORFast-32                             161943253                7.262 ns/op    141011.81 MB/s
BenchmarkXORMappedAddress_AddTo-32              47040007                31.71 ns/op            0 B/op          0 allocs/op
BenchmarkXORMappedAddress_GetFrom-32            54548677                20.30 ns/op            0 B/op          0 allocs/op
PASS
ok      github.com/pion/stun    69.741s

@rainliu
Copy link
Member Author

rainliu commented Oct 16, 2021

cargo bench

BenchmarkMappedAddress_AddTo time: [58.582 ns 58.913 ns 59.320 ns]
BenchmarkAlternateServer_AddTo time: [67.263 ns 67.958 ns 68.809 ns]
BenchmarkAgent_GC time: [334.45 ns 340.38 ns 348.49 ns]
BenchmarkAgent_Process time: [31.066 ns 31.616 ns 32.422 ns]
BenchmarkMessage_GetNotFound time: [2.9481 ns 2.9684 ns 2.9924 ns]
BenchmarkMessage_Get time: [10.381 ns 10.476 ns 10.592 ns]
BenchmarkErrorCode_AddTo time: [95.523 ns 96.278 ns 97.213 ns]
BenchmarkErrorCodeAttribute_AddTo time: [68.834 ns 69.436 ns 70.207 ns]
BenchmarkErrorCodeAttribute_GetFrom time: [20.772 ns 20.881 ns 21.018 ns]
BenchmarkFingerprint_AddTo time: [590.18 ns 592.25 ns 594.27 ns]
BenchmarkFingerprint_Check time: [554.62 ns 556.65 ns 558.80 ns]
BenchmarkBuildOverhead/Build time: [858.07 ns 863.46 ns 869.54 ns]
BenchmarkBuildOverhead/Raw time: [797.91 ns 802.05 ns 807.02 ns]
BenchmarkMessageIntegrity_AddTo time: [565.54 ns 569.12 ns 573.24 ns]
BenchmarkMessageIntegrity_Check time: [541.66 ns 545.32 ns 549.50 ns]
BenchmarkMessage_Write time: [51.618 ns 51.960 ns 52.370 ns]
BenchmarkMessageType_Value time: [1.2505 ns 1.2587 ns 1.2685 ns]
BenchmarkMessage_WriteTo time: [7.1927 ns 7.2417 ns 7.2995 ns]
BenchmarkMessage_ReadFrom time: [34.458 ns 34.712 ns 35.012 ns]
BenchmarkMessage_ReadBytes time: [8.4093 ns 8.5257 ns 8.6719 ns]
BenchmarkIsMessage time: [1.0370 ns 1.0418 ns 1.0469 ns]
BenchmarkMessage_NewTransactionID time: [10.779 ns 10.825 ns 10.875 ns]
BenchmarkMessageFull time: [1.0287 us 1.0516 us 1.0760 us]
BenchmarkMessageFullHardcore time: [128.23 ns 129.85 ns 131.78 ns]
BenchmarkMessage_WriteHeader time: [5.5443 ns 5.5938 ns 5.6525 ns]
BenchmarkMessage_CloneTo time: [42.627 ns 42.925 ns 43.304 ns]
BenchmarkMessage_AddTo time: [1.4792 ns 1.4875 ns 1.4974 ns]
BenchmarkDecode time: [26.393 ns 26.805 ns 27.327 ns]
BenchmarkUsername_AddTo time: [35.854 ns 36.143 ns 36.487 ns]
BenchmarkUsername_GetFrom time: [20.628 ns 20.741 ns 20.887 ns]
BenchmarkNonce_AddTo time: [62.731 ns 63.073 ns 63.501 ns]
BenchmarkNonce_AddTo_BadLength time: [3.9986 ns 4.0262 ns 4.0618 ns]
BenchmarkNonce_GetFrom time: [20.442 ns 20.546 ns 20.669 ns]
BenchmarkUnknownAttributes/AddTo time: [45.631 ns 45.942 ns 46.348 ns]
BenchmarkUnknownAttributes/GetFrom time: [14.149 ns 14.238 ns 14.348 ns]
BenchmarkXOR time: [443.43 ns 446.58 ns 450.05 ns]
BenchmarkXORMappedAddress_AddTo time: [89.822 ns 90.385 ns 91.068 ns]
BenchmarkXORMappedAddress_GetFrom time: [46.231 ns 46.497 ns 46.794 ns]

@rainliu
Copy link
Member Author

rainliu commented Oct 16, 2021

lot of things to improve

@rainliu rainliu mentioned this issue Oct 19, 2021
41 tasks
@rainliu
Copy link
Member Author

rainliu commented Oct 19, 2021

benchmarking is done, will create separate issue to track performance improvement based on this benchmark

@rainliu rainliu closed this as completed Oct 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmark benchmark the peformance
Projects
None yet
Development

No branches or pull requests

1 participant