{"action":"created","issue":{"url":"https://api.github.com/repos/meta-toolkit/meta/issues/154","repository_url":"https://api.github.com/repos/meta-toolkit/meta","labels_url":"https://api.github.com/repos/meta-toolkit/meta/issues/154/labels{/name}","comments_url":"https://api.github.com/repos/meta-toolkit/meta/issues/154/comments","events_url":"https://api.github.com/repos/meta-toolkit/meta/issues/154/events","html_url":"https://github.com/meta-toolkit/meta/pull/154","id":173626162,"number":154,"title":"Add a minimal perfect hashing language model implementation","user":{"login":"skystrife","id":1378336,"avatar_url":"https://avatars.githubusercontent.com/u/1378336?v=3","gravatar_id":"","url":"https://api.github.com/users/skystrife","html_url":"https://github.com/skystrife","followers_url":"https://api.github.com/users/skystrife/followers","following_url":"https://api.github.com/users/skystrife/following{/other_user}","gists_url":"https://api.github.com/users/skystrife/gists{/gist_id}","starred_url":"https://api.github.com/users/skystrife/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skystrife/subscriptions","organizations_url":"https://api.github.com/users/skystrife/orgs","repos_url":"https://api.github.com/users/skystrife/repos","events_url":"https://api.github.com/users/skystrife/events{/privacy}","received_events_url":"https://api.github.com/users/skystrife/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"smassung","id":1396411,"avatar_url":"https://avatars.githubusercontent.com/u/1396411?v=3","gravatar_id":"","url":"https://api.github.com/users/smassung","html_url":"https://github.com/smassung","followers_url":"https://api.github.com/users/smassung/followers","following_url":"https://api.github.com/users/smassung/following{/other_user}","gists_url":"https://api.github.com/users/smassung/gists{/gist_id}","starred_url":"https://api.github.com/users/smassung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smassung/subscriptions","organizations_url":"https://api.github.com/users/smassung/orgs","repos_url":"https://api.github.com/users/smassung/repos","events_url":"https://api.github.com/users/smassung/events{/privacy}","received_events_url":"https://api.github.com/users/smassung/received_events","type":"User","site_admin":false},"assignees":[{"login":"smassung","id":1396411,"avatar_url":"https://avatars.githubusercontent.com/u/1396411?v=3","gravatar_id":"","url":"https://api.github.com/users/smassung","html_url":"https://github.com/smassung","followers_url":"https://api.github.com/users/smassung/followers","following_url":"https://api.github.com/users/smassung/following{/other_user}","gists_url":"https://api.github.com/users/smassung/gists{/gist_id}","starred_url":"https://api.github.com/users/smassung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smassung/subscriptions","organizations_url":"https://api.github.com/users/smassung/orgs","repos_url":"https://api.github.com/users/smassung/repos","events_url":"https://api.github.com/users/smassung/events{/privacy}","received_events_url":"https://api.github.com/users/smassung/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-08-28T02:52:34Z","updated_at":"2016-08-28T16:59:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/meta-toolkit/meta/pulls/154","html_url":"https://github.com/meta-toolkit/meta/pull/154","diff_url":"https://github.com/meta-toolkit/meta/pull/154.diff","patch_url":"https://github.com/meta-toolkit/meta/pull/154.patch"},"body":"This PR contains code that coexists with the existing language model that implements a minimal perfect hashing-based language model using the perfect hashing framework added in a previous merge.\r\n\r\nThe LM's query interface is different from the existing language model and more closely models the interface provided by KenLM. It produces (on my limited test data) identical perplexity results, but is not particularly fast.\r\n\r\nA few additional minor things are included:\r\n\r\n* `std::vector<T>` can now be hashed using the `hash_append` framework.\r\n\r\n* `std::vector<T>` can be read/written using `io::packed`.\r\n\r\n* `io::packed` has been refactored to make adding packed reading/writing routines for user-defined types easier, and is similar in spirit to `hash_append`.\r\n\r\n  Users can provide `packed_read` and `packed_write` functions in the same namespace scope as their type, and `io::packed::read` and `io::packed::write` will find them via ADL.\r\n\r\n* All `chunk_iterators` for `util::multiway_merge` have been consolidated into a single template class. This reduces quite a bit of code duplication across all of the disk-based merge algorithms we have."},"comment":{"url":"https://api.github.com/repos/meta-toolkit/meta/issues/comments/242985709","html_url":"https://github.com/meta-toolkit/meta/pull/154#issuecomment-242985709","issue_url":"https://api.github.com/repos/meta-toolkit/meta/issues/154","id":242985709,"user":{"login":"smassung","id":1396411,"avatar_url":"https://avatars.githubusercontent.com/u/1396411?v=3","gravatar_id":"","url":"https://api.github.com/users/smassung","html_url":"https://github.com/smassung","followers_url":"https://api.github.com/users/smassung/followers","following_url":"https://api.github.com/users/smassung/following{/other_user}","gists_url":"https://api.github.com/users/smassung/gists{/gist_id}","starred_url":"https://api.github.com/users/smassung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smassung/subscriptions","organizations_url":"https://api.github.com/users/smassung/orgs","repos_url":"https://api.github.com/users/smassung/repos","events_url":"https://api.github.com/users/smassung/events{/privacy}","received_events_url":"https://api.github.com/users/smassung/received_events","type":"User","site_admin":false},"created_at":"2016-08-28T16:59:20Z","updated_at":"2016-08-28T16:59:20Z","body":"Or \"replace old LM with MPH LM\" could be a separate issue (which I could look at). I'd like to see `diff_analyzer`'s performance increase."}}
{"actor":{"display_login":"smassung"}}