{"action":"created","issue":{"url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/issues/69","repository_url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI","labels_url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/issues/69/labels{/name}","comments_url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/issues/69/comments","events_url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/issues/69/events","html_url":"https://github.com/YSRKEN/KanColleSimulator_KAI/pull/69","id":141496780,"number":69,"title":"高速な乱数に切り替える","user":{"login":"sayurin","id":3615855,"avatar_url":"https://avatars.githubusercontent.com/u/3615855?v=3","gravatar_id":"","url":"https://api.github.com/users/sayurin","html_url":"https://github.com/sayurin","followers_url":"https://api.github.com/users/sayurin/followers","following_url":"https://api.github.com/users/sayurin/following{/other_user}","gists_url":"https://api.github.com/users/sayurin/gists{/gist_id}","starred_url":"https://api.github.com/users/sayurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sayurin/subscriptions","organizations_url":"https://api.github.com/users/sayurin/orgs","repos_url":"https://api.github.com/users/sayurin/repos","events_url":"https://api.github.com/users/sayurin/events{/privacy}","received_events_url":"https://api.github.com/users/sayurin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/labels/CUI","name":"CUI","color":"A0519C"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2016-03-17T06:44:55Z","updated_at":"2016-03-25T06:37:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/pulls/69","html_url":"https://github.com/YSRKEN/KanColleSimulator_KAI/pull/69","diff_url":"https://github.com/YSRKEN/KanColleSimulator_KAI/pull/69.diff","patch_url":"https://github.com/YSRKEN/KanColleSimulator_KAI/pull/69.patch"},"body":"MTからXorShiftへ置き換えてみました。\r\n\r\n - Xorshift\r\n - xorshift*\r\n - XSadd （MT作者がXorshiftをアレンジ、MITライセンス）\r\n - xorshift+ （XSaddをさらに改良、Google Chromeで採用）\r\n\r\nがあり、XSaddはMITライセンスで公開されていたので、それを基にC++ `<random>`に適合するように書き換えました。\r\n実は`SharedRand`のインスタンス生成自体が数百万回※行われており、それ自体も負荷になっていたので、`thread_local`なインスタンス生成に切り替えました。\r\n\r\n実証実験的な側面で、マージはしてもしなくても構いません。\r\n\r\n※そもそも`Weapon`コピーコンストラクターが241万回呼ばれているという事情があります。"},"comment":{"url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/issues/comments/201170297","html_url":"https://github.com/YSRKEN/KanColleSimulator_KAI/pull/69#issuecomment-201170297","issue_url":"https://api.github.com/repos/YSRKEN/KanColleSimulator_KAI/issues/69","id":201170297,"user":{"login":"yumetodo","id":10869046,"avatar_url":"https://avatars.githubusercontent.com/u/10869046?v=3","gravatar_id":"","url":"https://api.github.com/users/yumetodo","html_url":"https://github.com/yumetodo","followers_url":"https://api.github.com/users/yumetodo/followers","following_url":"https://api.github.com/users/yumetodo/following{/other_user}","gists_url":"https://api.github.com/users/yumetodo/gists{/gist_id}","starred_url":"https://api.github.com/users/yumetodo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yumetodo/subscriptions","organizations_url":"https://api.github.com/users/yumetodo/orgs","repos_url":"https://api.github.com/users/yumetodo/repos","events_url":"https://api.github.com/users/yumetodo/events{/privacy}","received_events_url":"https://api.github.com/users/yumetodo/received_events","type":"User","site_admin":false},"created_at":"2016-03-25T06:37:02Z","updated_at":"2016-03-25T06:37:02Z","body":">2496バイト / 4 = unsigned 624個分でち。\r\n\r\nbit数で割ってたがなorz..."}}