{"action":"created","issue":{"url":"https://api.github.com/repos/claunia/plist-cil/issues/38","repository_url":"https://api.github.com/repos/claunia/plist-cil","labels_url":"https://api.github.com/repos/claunia/plist-cil/issues/38/labels{/name}","comments_url":"https://api.github.com/repos/claunia/plist-cil/issues/38/comments","events_url":"https://api.github.com/repos/claunia/plist-cil/issues/38/events","html_url":"https://github.com/claunia/plist-cil/pull/38","id":333632411,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk1Nzk3MTA3","number":38,"title":"[WIP] Reduce allocations in BinaryPropertyListParser","user":{"login":"qmfrederik","id":9918129,"node_id":"MDQ6VXNlcjk5MTgxMjk=","avatar_url":"https://avatars0.githubusercontent.com/u/9918129?v=4","gravatar_id":"","url":"https://api.github.com/users/qmfrederik","html_url":"https://github.com/qmfrederik","followers_url":"https://api.github.com/users/qmfrederik/followers","following_url":"https://api.github.com/users/qmfrederik/following{/other_user}","gists_url":"https://api.github.com/users/qmfrederik/gists{/gist_id}","starred_url":"https://api.github.com/users/qmfrederik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qmfrederik/subscriptions","organizations_url":"https://api.github.com/users/qmfrederik/orgs","repos_url":"https://api.github.com/users/qmfrederik/repos","events_url":"https://api.github.com/users/qmfrederik/events{/privacy}","received_events_url":"https://api.github.com/users/qmfrederik/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-06-19T11:35:22Z","updated_at":"2018-06-24T14:18:12Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/claunia/plist-cil/pulls/38","html_url":"https://github.com/claunia/plist-cil/pull/38","diff_url":"https://github.com/claunia/plist-cil/pull/38.diff","patch_url":"https://github.com/claunia/plist-cil/pull/38.patch"},"body":"The `BinaryPropertyListParser` creates a lot of temporary `byte[]` arrays which are used to parse values. Instead of creating new arrays and copying values, use `Span<byte>.Slice` to create a \"subarray\" without having to allocate memory.\r\n\r\nThis PR depends on #36, #37"},"comment":{"url":"https://api.github.com/repos/claunia/plist-cil/issues/comments/399759970","html_url":"https://github.com/claunia/plist-cil/pull/38#issuecomment-399759970","issue_url":"https://api.github.com/repos/claunia/plist-cil/issues/38","id":399759970,"node_id":"MDEyOklzc3VlQ29tbWVudDM5OTc1OTk3MA==","user":{"login":"qmfrederik","id":9918129,"node_id":"MDQ6VXNlcjk5MTgxMjk=","avatar_url":"https://avatars0.githubusercontent.com/u/9918129?v=4","gravatar_id":"","url":"https://api.github.com/users/qmfrederik","html_url":"https://github.com/qmfrederik","followers_url":"https://api.github.com/users/qmfrederik/followers","following_url":"https://api.github.com/users/qmfrederik/following{/other_user}","gists_url":"https://api.github.com/users/qmfrederik/gists{/gist_id}","starred_url":"https://api.github.com/users/qmfrederik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qmfrederik/subscriptions","organizations_url":"https://api.github.com/users/qmfrederik/orgs","repos_url":"https://api.github.com/users/qmfrederik/repos","events_url":"https://api.github.com/users/qmfrederik/events{/privacy}","received_events_url":"https://api.github.com/users/qmfrederik/received_events","type":"User","site_admin":false},"created_at":"2018-06-24T14:18:12Z","updated_at":"2018-06-24T14:18:12Z","author_association":"CONTRIBUTOR","body":"### Windows\r\n#### Before\r\n|                    Method |     Mean |     Error |    StdDev |    Gen 0 |   Gen 1 | Allocated |\r\n|-------------------------- |---------:|----------:|----------:|---------:|--------:|----------:|\r\n| ReadLargePropertylistTest | 1.200 ms | 0.0203 ms | 0.0190 ms | 117.1875 | 54.6875 | 720.21 KB \r\n\r\n#### After\r\n|                    Method |     Mean |     Error |    StdDev |    Gen 0 |   Gen 1 | Allocated |\r\n|-------------------------- |---------:|----------:|----------:|---------:|--------:|----------:|\r\n| ReadLargePropertylistTest | 1.190 ms | 0.0174 ms | 0.0162 ms | 115.2344 | 52.7344 | 719.85 KB |\r\n\r\n### Linux\r\n#### Before\r\n|                    Method |     Mean |     Error |    StdDev |    Gen 0 |   Gen 1 | Allocated |\r\n|-------------------------- |---------:|----------:|----------:|---------:|--------:|----------:|\r\n| ReadLargePropertylistTest | 1.831 ms | 0.0351 ms | 0.0328 ms | 113.2813 | 56.6406 | 720.21 KB |\r\n\r\n#### After\r\n|                    Method |     Mean |     Error |    StdDev |    Gen 0 |   Gen 1 | Allocated |\r\n|-------------------------- |---------:|----------:|----------:|---------:|--------:|----------:|\r\n| ReadLargePropertylistTest | 1.758 ms | 0.0328 ms | 0.0274 ms | 113.2813 | 56.6406 | 719.85 KB |"}}
{"actor":{"display_login":"qmfrederik"}}