{"action":"created","issue":{"url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/issues/271","repository_url":"https://api.github.com/repos/zkSNACKs/WalletWasabi","labels_url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/issues/271/labels{/name}","comments_url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/issues/271/comments","events_url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/issues/271/events","html_url":"https://github.com/zkSNACKs/WalletWasabi/issues/271","id":329566845,"node_id":"MDU6SXNzdWUzMjk1NjY4NDU=","number":271,"title":"Explore .NET Core 2.1 features","user":{"login":"nopara73","id":9156103,"node_id":"MDQ6VXNlcjkxNTYxMDM=","avatar_url":"https://avatars0.githubusercontent.com/u/9156103?v=4","gravatar_id":"","url":"https://api.github.com/users/nopara73","html_url":"https://github.com/nopara73","followers_url":"https://api.github.com/users/nopara73/followers","following_url":"https://api.github.com/users/nopara73/following{/other_user}","gists_url":"https://api.github.com/users/nopara73/gists{/gist_id}","starred_url":"https://api.github.com/users/nopara73/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nopara73/subscriptions","organizations_url":"https://api.github.com/users/nopara73/orgs","repos_url":"https://api.github.com/users/nopara73/repos","events_url":"https://api.github.com/users/nopara73/events{/privacy}","received_events_url":"https://api.github.com/users/nopara73/received_events","type":"User","site_admin":false},"labels":[{"id":726690974,"node_id":"MDU6TGFiZWw3MjY2OTA5NzQ=","url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/labels/feature/enhancement","name":"feature/enhancement","color":"4047f9","default":false}],"state":"open","locked":false,"assignee":{"login":"lontivero","id":127973,"node_id":"MDQ6VXNlcjEyNzk3Mw==","avatar_url":"https://avatars1.githubusercontent.com/u/127973?v=4","gravatar_id":"","url":"https://api.github.com/users/lontivero","html_url":"https://github.com/lontivero","followers_url":"https://api.github.com/users/lontivero/followers","following_url":"https://api.github.com/users/lontivero/following{/other_user}","gists_url":"https://api.github.com/users/lontivero/gists{/gist_id}","starred_url":"https://api.github.com/users/lontivero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lontivero/subscriptions","organizations_url":"https://api.github.com/users/lontivero/orgs","repos_url":"https://api.github.com/users/lontivero/repos","events_url":"https://api.github.com/users/lontivero/events{/privacy}","received_events_url":"https://api.github.com/users/lontivero/received_events","type":"User","site_admin":false},"assignees":[{"login":"lontivero","id":127973,"node_id":"MDQ6VXNlcjEyNzk3Mw==","avatar_url":"https://avatars1.githubusercontent.com/u/127973?v=4","gravatar_id":"","url":"https://api.github.com/users/lontivero","html_url":"https://github.com/lontivero","followers_url":"https://api.github.com/users/lontivero/followers","following_url":"https://api.github.com/users/lontivero/following{/other_user}","gists_url":"https://api.github.com/users/lontivero/gists{/gist_id}","starred_url":"https://api.github.com/users/lontivero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lontivero/subscriptions","organizations_url":"https://api.github.com/users/lontivero/orgs","repos_url":"https://api.github.com/users/lontivero/repos","events_url":"https://api.github.com/users/lontivero/events{/privacy}","received_events_url":"https://api.github.com/users/lontivero/received_events","type":"User","site_admin":false},{"login":"nopara73","id":9156103,"node_id":"MDQ6VXNlcjkxNTYxMDM=","avatar_url":"https://avatars0.githubusercontent.com/u/9156103?v=4","gravatar_id":"","url":"https://api.github.com/users/nopara73","html_url":"https://github.com/nopara73","followers_url":"https://api.github.com/users/nopara73/followers","following_url":"https://api.github.com/users/nopara73/following{/other_user}","gists_url":"https://api.github.com/users/nopara73/gists{/gist_id}","starred_url":"https://api.github.com/users/nopara73/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nopara73/subscriptions","organizations_url":"https://api.github.com/users/nopara73/orgs","repos_url":"https://api.github.com/users/nopara73/repos","events_url":"https://api.github.com/users/nopara73/events{/privacy}","received_events_url":"https://api.github.com/users/nopara73/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-06-05T18:08:01Z","updated_at":"2018-06-08T04:00:19Z","closed_at":null,"author_association":"COLLABORATOR","body":"If we can benefit from any of it."},"comment":{"url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/issues/comments/395639673","html_url":"https://github.com/zkSNACKs/WalletWasabi/issues/271#issuecomment-395639673","issue_url":"https://api.github.com/repos/zkSNACKs/WalletWasabi/issues/271","id":395639673,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTYzOTY3Mw==","user":{"login":"lontivero","id":127973,"node_id":"MDQ6VXNlcjEyNzk3Mw==","avatar_url":"https://avatars1.githubusercontent.com/u/127973?v=4","gravatar_id":"","url":"https://api.github.com/users/lontivero","html_url":"https://github.com/lontivero","followers_url":"https://api.github.com/users/lontivero/followers","following_url":"https://api.github.com/users/lontivero/following{/other_user}","gists_url":"https://api.github.com/users/lontivero/gists{/gist_id}","starred_url":"https://api.github.com/users/lontivero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lontivero/subscriptions","organizations_url":"https://api.github.com/users/lontivero/orgs","repos_url":"https://api.github.com/users/lontivero/repos","events_url":"https://api.github.com/users/lontivero/events{/privacy}","received_events_url":"https://api.github.com/users/lontivero/received_events","type":"User","site_admin":false},"created_at":"2018-06-08T04:00:19Z","updated_at":"2018-06-08T04:00:19Z","author_association":"CONTRIBUTOR","body":"I've been exploring the new features las weekend on one of my pets projects, specially all the new Span<T>, ReadOnlySpan<T>, Memory<T>, ReadOnlyMemory<T>, MemoryMarshall and string.Create() new method for writting directly into the string's memory.\r\n\r\nAfter replacing everywhere `byte[]` by `ReadOnlyMemory<byte>` I've got almost 5%  of performance improvements, then I realized that the real benefit is achieved with we work with big arrays of bytes (for example: 10,000 bytes) and not for small ones like hashes, prv/pub keys, bitcoin scripts, etc. So, we won't benefit of that.\r\n\r\nThere are 3 other areas to have in mind (most important first):\r\n\r\n* The **new self-contained applications** which don't require to have the runtime installed on the deployment machine. This is huge gain because we can update the runtime and deploy a self-contained app on our server without installing the new runtime. This is similar to how we deploy Golang apps. Alternatively, we can install everything without having to worry about dependencies (in linux that uses to be a problem) using Snap, what is also a good news.\r\n\r\n* Now we can deliver the backend responses using the Brotli compressor which is superior to gzip in terms of compression ratio and performance. \r\n\r\n*  New **RSA crypto primitives** that I didn't read enough about and a new implementation of the **Pbkdf2** to make the BIP32 implementation work faster (it requires modification in NBitcoin by sure)\r\n\r\n* Finally, there are new methods/classes for handling streams' buffers and HttpClient (or similar).\r\n\r\nI didn't go further with that because I focused on the nerdiest thing, the Span<>. However, if you think some of these things worth the effort I can do some real test."}}
{"actor":{"display_login":"lontivero"}}