{"action":"created","issue":{"url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/issues/15","repository_url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore","labels_url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/issues/15/comments","events_url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/issues/15/events","html_url":"https://github.com/libp2p/go-libp2p-peerstore/issues/15","id":267050407,"number":15,"title":"Optimize for memory","user":{"login":"Stebalien","id":310393,"avatar_url":"https://avatars2.githubusercontent.com/u/310393?v=4","gravatar_id":"","url":"https://api.github.com/users/Stebalien","html_url":"https://github.com/Stebalien","followers_url":"https://api.github.com/users/Stebalien/followers","following_url":"https://api.github.com/users/Stebalien/following{/other_user}","gists_url":"https://api.github.com/users/Stebalien/gists{/gist_id}","starred_url":"https://api.github.com/users/Stebalien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stebalien/subscriptions","organizations_url":"https://api.github.com/users/Stebalien/orgs","repos_url":"https://api.github.com/users/Stebalien/repos","events_url":"https://api.github.com/users/Stebalien/events{/privacy}","received_events_url":"https://api.github.com/users/Stebalien/received_events","type":"User","site_admin":false},"labels":[{"id":725385755,"url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/labels/perf","name":"perf","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":{"login":"Stebalien","id":310393,"avatar_url":"https://avatars2.githubusercontent.com/u/310393?v=4","gravatar_id":"","url":"https://api.github.com/users/Stebalien","html_url":"https://github.com/Stebalien","followers_url":"https://api.github.com/users/Stebalien/followers","following_url":"https://api.github.com/users/Stebalien/following{/other_user}","gists_url":"https://api.github.com/users/Stebalien/gists{/gist_id}","starred_url":"https://api.github.com/users/Stebalien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stebalien/subscriptions","organizations_url":"https://api.github.com/users/Stebalien/orgs","repos_url":"https://api.github.com/users/Stebalien/repos","events_url":"https://api.github.com/users/Stebalien/events{/privacy}","received_events_url":"https://api.github.com/users/Stebalien/received_events","type":"User","site_admin":false},"assignees":[{"login":"Stebalien","id":310393,"avatar_url":"https://avatars2.githubusercontent.com/u/310393?v=4","gravatar_id":"","url":"https://api.github.com/users/Stebalien","html_url":"https://github.com/Stebalien","followers_url":"https://api.github.com/users/Stebalien/followers","following_url":"https://api.github.com/users/Stebalien/following{/other_user}","gists_url":"https://api.github.com/users/Stebalien/gists{/gist_id}","starred_url":"https://api.github.com/users/Stebalien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stebalien/subscriptions","organizations_url":"https://api.github.com/users/Stebalien/orgs","repos_url":"https://api.github.com/users/Stebalien/repos","events_url":"https://api.github.com/users/Stebalien/events{/privacy}","received_events_url":"https://api.github.com/users/Stebalien/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2017-10-20T03:06:21Z","updated_at":"2017-10-20T12:01:42Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Currently, we use lots of small maps when storing peer routing information. Instead, we should try to optimize for memory and use arrays. We can temporarily use maps as-needed to update this information but we shouldn't keep them around.\r\n\r\nWe should be able to *halve* (or more) peerstore memory usage this way. We'd stop storing multiaddrs twice (once as keys, once as values) and we'd lose the overhead of hash-maps (to avoid collisions hash maps are generally sparse)."},"comment":{"url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/issues/comments/338186954","html_url":"https://github.com/libp2p/go-libp2p-peerstore/issues/15#issuecomment-338186954","issue_url":"https://api.github.com/repos/libp2p/go-libp2p-peerstore/issues/15","id":338186954,"user":{"login":"whyrusleeping","id":1243164,"avatar_url":"https://avatars0.githubusercontent.com/u/1243164?v=4","gravatar_id":"","url":"https://api.github.com/users/whyrusleeping","html_url":"https://github.com/whyrusleeping","followers_url":"https://api.github.com/users/whyrusleeping/followers","following_url":"https://api.github.com/users/whyrusleeping/following{/other_user}","gists_url":"https://api.github.com/users/whyrusleeping/gists{/gist_id}","starred_url":"https://api.github.com/users/whyrusleeping/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyrusleeping/subscriptions","organizations_url":"https://api.github.com/users/whyrusleeping/orgs","repos_url":"https://api.github.com/users/whyrusleeping/repos","events_url":"https://api.github.com/users/whyrusleeping/events{/privacy}","received_events_url":"https://api.github.com/users/whyrusleeping/received_events","type":"User","site_admin":false},"created_at":"2017-10-20T12:01:42Z","updated_at":"2017-10-20T12:01:42Z","author_association":"CONTRIBUTOR","body":"while we're at it, we should start putting the peerstore on disk"}}
{"actor":{"display_login":"whyrusleeping"}}