Skip to content

[SDP] benchmark the performance of SDP #17

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

Closed
Tracked by #1
rainliu opened this issue Nov 20, 2020 · 3 comments
Closed
Tracked by #1

[SDP] benchmark the performance of SDP #17

rainliu opened this issue Nov 20, 2020 · 3 comments
Assignees
Labels
benchmark benchmark the peformance performance improvement

Comments

@rainliu
Copy link
Member

rainliu commented Nov 20, 2020

add benchmark code for SDP so that we can understand what's performance of SDP

@rainliu rainliu added the benchmark benchmark the peformance label Nov 20, 2020
@rainliu rainliu changed the title [SDP] benchmark performance of SDP [SDP] benchmark the performance of SDP Nov 20, 2020
@rainliu
Copy link
Member Author

rainliu commented Oct 10, 2021

benchmark is added in webrtc-rs/sdp@1f96710

cargo bench

Benchmark Marshal       time:   [4.8741 us 4.8892 us 4.9057 us]                               
                        change: [-2.7654% -2.0874% -1.4044%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 14 outliers among 100 measurements (14.00%)
  5 (5.00%) high mild
  9 (9.00%) high severe

Benchmark Unmarshal     time:   [8.1142 us 8.1243 us 8.1350 us]                                  
                        change: [+0.6471% +1.2217% +1.9205%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
  5 (5.00%) high mild
  4 (4.00%) high severe

@rainliu
Copy link
Member Author

rainliu commented Oct 10, 2021

pion sdp https://github.com/pion/sdp/releases/tag/v3.0.4

``
~/Projects/pion/sdp$ go test -bench=.
error message: 12 --> N <-- aN
goos: linux
goarch: amd64
pkg: github.com/pion/sdp/v3
cpu: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
BenchmarkMarshal-8 339273 4057 ns/op 2064 B/op 53 allocs/op
BenchmarkUnmarshal-8 154941 7632 ns/op 2576 B/op 108 allocs/op
PASS
ok github.com/pion/sdp/v3 2.688s

@rainliu rainliu self-assigned this Oct 10, 2021
@rainliu
Copy link
Member Author

rainliu commented Oct 10, 2021

webrtc-rs sdp benchmark: webrtc-rs/sdp@57bb1af

Gnuplot not found, using plotters backend
Benchmarking Benchmark Marshal
Benchmarking Benchmark Marshal: Warming up for 3.0000 s
Benchmarking Benchmark Marshal: Collecting 100 samples in estimated 5.0057 s (1.0M iterations)
Benchmarking Benchmark Marshal: Analyzing
Benchmark Marshal       time:   [4.6793 us 4.7134 us 4.7577 us]
                        change: [-7.5355% -5.3817% -3.3148%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  4 (4.00%) high mild
  3 (3.00%) high severe

Benchmarking Benchmark Unmarshal 
Benchmarking Benchmark Unmarshal : Warming up for 3.0000 s
Benchmarking Benchmark Unmarshal : Collecting 100 samples in estimated 5.0122 s (616k iterations)
Benchmarking Benchmark Unmarshal : Analyzing
Benchmark Unmarshal     time:   [7.7638 us 7.7890 us 7.8178 us]
                        change: [+0.7135% +1.0075% +1.3136%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
  5 (5.00%) high mild
  2 (2.00%) high severe

@rainliu rainliu closed this as completed Oct 10, 2021
@rainliu rainliu mentioned this issue Oct 19, 2021
41 tasks
algesten pushed a commit that referenced this issue Aug 23, 2022
Use only "error" and "ifaces" feature for util package
algesten pushed a commit that referenced this issue Aug 23, 2022
Ensure "+" is used in id generation
algesten pushed a commit that referenced this issue Aug 23, 2022
algesten pushed a commit that referenced this issue Aug 23, 2022
As described in #16 the handling of unknown parameters and chunks is not done as per RFC.

This PR handles unknown chunks correctly, and unknown parameters for the InitChunk.

I think handling of unknown parameters is important for other chunk types too, at least for the InitAck an error chunk should be sent back reporting the unknown parameters, but that can be done later. The changes in this PR should make that possible.

Edit: Note that this enables at least basic interoperability with usrsctp

Closes #16
algesten pushed a commit that referenced this issue Aug 23, 2022
remove `required_unless_present` when with `default_value` configured.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmark benchmark the peformance performance improvement
Projects
None yet
Development

No branches or pull requests

1 participant