{"action":"opened","number":1028,"pull_request":{"url":"https://api.github.com/repos/dropbox/pyston/pulls/1028","id":53241590,"html_url":"https://github.com/dropbox/pyston/pull/1028","diff_url":"https://github.com/dropbox/pyston/pull/1028.diff","patch_url":"https://github.com/dropbox/pyston/pull/1028.patch","issue_url":"https://api.github.com/repos/dropbox/pyston/issues/1028","number":1028,"state":"open","locked":false,"title":"Fixes for tp_new for C extensions","user":{"login":"rudi-c","id":2747897,"avatar_url":"https://avatars.githubusercontent.com/u/2747897?v=3","gravatar_id":"","url":"https://api.github.com/users/rudi-c","html_url":"https://github.com/rudi-c","followers_url":"https://api.github.com/users/rudi-c/followers","following_url":"https://api.github.com/users/rudi-c/following{/other_user}","gists_url":"https://api.github.com/users/rudi-c/gists{/gist_id}","starred_url":"https://api.github.com/users/rudi-c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rudi-c/subscriptions","organizations_url":"https://api.github.com/users/rudi-c/orgs","repos_url":"https://api.github.com/users/rudi-c/repos","events_url":"https://api.github.com/users/rudi-c/events{/privacy}","received_events_url":"https://api.github.com/users/rudi-c/received_events","type":"User","site_admin":false},"body":"Split from https://github.com/dropbox/pyston/pull/1014\r\n\r\nIn the second commit, I add a special case in `typeCallInner` for `int_cls`, since it's the most common one to show up. It helps performance a bit.\r\n```\r\n# without special case\r\nComparing to '['baseline']'\r\n              pyston (calibration)                      :   1.01s baseline: 1.02 ( -0.6%)\r\n              pyston django_template3.py                :   1.98s baseline: 1.97 (  0.2%)\r\n              pyston pyxl_bench.py                      :   1.63s baseline: 1.62 (  0.5%)\r\n              pyston sqlalchemy_imperative2.py          :   2.12s baseline: 2.11 (  0.3%)\r\n              pyston django_template3_10x.py            :  11.72s baseline: 11.53 (  1.6%)\r\n              pyston pyxl_bench_10x.py                  :  12.84s baseline: 12.78 (  0.5%)\r\n              pyston sqlalchemy_imperative2_10x.py      :  16.31s baseline: 16.13 (  1.1%)\r\n              pyston (geomean-2ec9)                     :   1.90s baseline: 1.89 (  0.3%)\r\n# with special case\r\nComparing to '['baseline']'\r\n              pyston (calibration)                      :   1.02s baseline: 1.02 (  0.6%)\r\n              pyston django_template3.py                :   1.99s baseline: 1.97 (  0.7%)\r\n              pyston pyxl_bench.py                      :   1.63s baseline: 1.62 (  0.7%)\r\n              pyston sqlalchemy_imperative2.py          :   2.11s baseline: 2.11 ( -0.1%)\r\n              pyston django_template3_10x.py            :  11.52s baseline: 11.53 ( -0.0%)\r\n              pyston pyxl_bench_10x.py                  :  12.78s baseline: 12.78 (  0.0%)\r\n              pyston sqlalchemy_imperative2_10x.py      :  16.15s baseline: 16.13 (  0.1%)\r\n              pyston (geomean-2ec9)                     :   1.90s baseline: 1.89 (  0.4%)\r\n```\r\n\r\nBut I don't know how I feel about it, it seems quite hacky for a relatively small performance drop.","created_at":"2015-12-10T10:43:56Z","updated_at":"2015-12-10T10:43:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dropbox/pyston/pulls/1028/commits","review_comments_url":"https://api.github.com/repos/dropbox/pyston/pulls/1028/comments","review_comment_url":"https://api.github.com/repos/dropbox/pyston/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dropbox/pyston/issues/1028/comments","statuses_url":"https://api.github.com/repos/dropbox/pyston/statuses/0ac87d6c39fa74b5f435f31860c4b3cce1c56107","head":{"label":"rudi-c:tp_new","ref":"tp_new","sha":"0ac87d6c39fa74b5f435f31860c4b3cce1c56107","user":{"login":"rudi-c","id":2747897,"avatar_url":"https://avatars.githubusercontent.com/u/2747897?v=3","gravatar_id":"","url":"https://api.github.com/users/rudi-c","html_url":"https://github.com/rudi-c","followers_url":"https://api.github.com/users/rudi-c/followers","following_url":"https://api.github.com/users/rudi-c/following{/other_user}","gists_url":"https://api.github.com/users/rudi-c/gists{/gist_id}","starred_url":"https://api.github.com/users/rudi-c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rudi-c/subscriptions","organizations_url":"https://api.github.com/users/rudi-c/orgs","repos_url":"https://api.github.com/users/rudi-c/repos","events_url":"https://api.github.com/users/rudi-c/events{/privacy}","received_events_url":"https://api.github.com/users/rudi-c/received_events","type":"User","site_admin":false},"repo":{"id":35190032,"name":"pyston","full_name":"rudi-c/pyston","owner":{"login":"rudi-c","id":2747897,"avatar_url":"https://avatars.githubusercontent.com/u/2747897?v=3","gravatar_id":"","url":"https://api.github.com/users/rudi-c","html_url":"https://github.com/rudi-c","followers_url":"https://api.github.com/users/rudi-c/followers","following_url":"https://api.github.com/users/rudi-c/following{/other_user}","gists_url":"https://api.github.com/users/rudi-c/gists{/gist_id}","starred_url":"https://api.github.com/users/rudi-c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rudi-c/subscriptions","organizations_url":"https://api.github.com/users/rudi-c/orgs","repos_url":"https://api.github.com/users/rudi-c/repos","events_url":"https://api.github.com/users/rudi-c/events{/privacy}","received_events_url":"https://api.github.com/users/rudi-c/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rudi-c/pyston","description":"An open-source Python implementation using JIT techniques. ","fork":true,"url":"https://api.github.com/repos/rudi-c/pyston","forks_url":"https://api.github.com/repos/rudi-c/pyston/forks","keys_url":"https://api.github.com/repos/rudi-c/pyston/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rudi-c/pyston/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rudi-c/pyston/teams","hooks_url":"https://api.github.com/repos/rudi-c/pyston/hooks","issue_events_url":"https://api.github.com/repos/rudi-c/pyston/issues/events{/number}","events_url":"https://api.github.com/repos/rudi-c/pyston/events","assignees_url":"https://api.github.com/repos/rudi-c/pyston/assignees{/user}","branches_url":"https://api.github.com/repos/rudi-c/pyston/branches{/branch}","tags_url":"https://api.github.com/repos/rudi-c/pyston/tags","blobs_url":"https://api.github.com/repos/rudi-c/pyston/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rudi-c/pyston/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rudi-c/pyston/git/refs{/sha}","trees_url":"https://api.github.com/repos/rudi-c/pyston/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rudi-c/pyston/statuses/{sha}","languages_url":"https://api.github.com/repos/rudi-c/pyston/languages","stargazers_url":"https://api.github.com/repos/rudi-c/pyston/stargazers","contributors_url":"https://api.github.com/repos/rudi-c/pyston/contributors","subscribers_url":"https://api.github.com/repos/rudi-c/pyston/subscribers","subscription_url":"https://api.github.com/repos/rudi-c/pyston/subscription","commits_url":"https://api.github.com/repos/rudi-c/pyston/commits{/sha}","git_commits_url":"https://api.github.com/repos/rudi-c/pyston/git/commits{/sha}","comments_url":"https://api.github.com/repos/rudi-c/pyston/comments{/number}","issue_comment_url":"https://api.github.com/repos/rudi-c/pyston/issues/comments{/number}","contents_url":"https://api.github.com/repos/rudi-c/pyston/contents/{+path}","compare_url":"https://api.github.com/repos/rudi-c/pyston/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rudi-c/pyston/merges","archive_url":"https://api.github.com/repos/rudi-c/pyston/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rudi-c/pyston/downloads","issues_url":"https://api.github.com/repos/rudi-c/pyston/issues{/number}","pulls_url":"https://api.github.com/repos/rudi-c/pyston/pulls{/number}","milestones_url":"https://api.github.com/repos/rudi-c/pyston/milestones{/number}","notifications_url":"https://api.github.com/repos/rudi-c/pyston/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rudi-c/pyston/labels{/name}","releases_url":"https://api.github.com/repos/rudi-c/pyston/releases{/id}","created_at":"2015-05-07T00:30:38Z","updated_at":"2015-05-07T00:30:47Z","pushed_at":"2015-12-10T10:41:18Z","git_url":"git://github.com/rudi-c/pyston.git","ssh_url":"git@github.com:rudi-c/pyston.git","clone_url":"https://github.com/rudi-c/pyston.git","svn_url":"https://github.com/rudi-c/pyston","homepage":"https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/","size":29971,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dropbox:master","ref":"master","sha":"bd361100995272068338170c3f57ce07372f1e1e","user":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"repo":{"id":18320947,"name":"pyston","full_name":"dropbox/pyston","owner":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dropbox/pyston","description":"An open-source Python implementation using JIT techniques. ","fork":false,"url":"https://api.github.com/repos/dropbox/pyston","forks_url":"https://api.github.com/repos/dropbox/pyston/forks","keys_url":"https://api.github.com/repos/dropbox/pyston/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dropbox/pyston/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dropbox/pyston/teams","hooks_url":"https://api.github.com/repos/dropbox/pyston/hooks","issue_events_url":"https://api.github.com/repos/dropbox/pyston/issues/events{/number}","events_url":"https://api.github.com/repos/dropbox/pyston/events","assignees_url":"https://api.github.com/repos/dropbox/pyston/assignees{/user}","branches_url":"https://api.github.com/repos/dropbox/pyston/branches{/branch}","tags_url":"https://api.github.com/repos/dropbox/pyston/tags","blobs_url":"https://api.github.com/repos/dropbox/pyston/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dropbox/pyston/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dropbox/pyston/git/refs{/sha}","trees_url":"https://api.github.com/repos/dropbox/pyston/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dropbox/pyston/statuses/{sha}","languages_url":"https://api.github.com/repos/dropbox/pyston/languages","stargazers_url":"https://api.github.com/repos/dropbox/pyston/stargazers","contributors_url":"https://api.github.com/repos/dropbox/pyston/contributors","subscribers_url":"https://api.github.com/repos/dropbox/pyston/subscribers","subscription_url":"https://api.github.com/repos/dropbox/pyston/subscription","commits_url":"https://api.github.com/repos/dropbox/pyston/commits{/sha}","git_commits_url":"https://api.github.com/repos/dropbox/pyston/git/commits{/sha}","comments_url":"https://api.github.com/repos/dropbox/pyston/comments{/number}","issue_comment_url":"https://api.github.com/repos/dropbox/pyston/issues/comments{/number}","contents_url":"https://api.github.com/repos/dropbox/pyston/contents/{+path}","compare_url":"https://api.github.com/repos/dropbox/pyston/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dropbox/pyston/merges","archive_url":"https://api.github.com/repos/dropbox/pyston/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dropbox/pyston/downloads","issues_url":"https://api.github.com/repos/dropbox/pyston/issues{/number}","pulls_url":"https://api.github.com/repos/dropbox/pyston/pulls{/number}","milestones_url":"https://api.github.com/repos/dropbox/pyston/milestones{/number}","notifications_url":"https://api.github.com/repos/dropbox/pyston/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dropbox/pyston/labels{/name}","releases_url":"https://api.github.com/repos/dropbox/pyston/releases{/id}","created_at":"2014-04-01T07:17:20Z","updated_at":"2015-12-10T08:58:37Z","pushed_at":"2015-12-10T09:38:51Z","git_url":"git://github.com/dropbox/pyston.git","ssh_url":"git@github.com:dropbox/pyston.git","clone_url":"https://github.com/dropbox/pyston.git","svn_url":"https://github.com/dropbox/pyston","homepage":"https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/","size":32308,"stargazers_count":3395,"watchers_count":3395,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":233,"mirror_url":null,"open_issues_count":84,"forks":233,"open_issues":84,"watchers":3395,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/1028"},"html":{"href":"https://github.com/dropbox/pyston/pull/1028"},"issue":{"href":"https://api.github.com/repos/dropbox/pyston/issues/1028"},"comments":{"href":"https://api.github.com/repos/dropbox/pyston/issues/1028/comments"},"review_comments":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/1028/comments"},"review_comment":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/1028/commits"},"statuses":{"href":"https://api.github.com/repos/dropbox/pyston/statuses/0ac87d6c39fa74b5f435f31860c4b3cce1c56107"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":70,"deletions":9,"changed_files":4}}