{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/1625","labels_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/1625/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/1625/comments","events_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/1625/events","html_url":"https://github.com/Microsoft/TypeScript/pull/1625","id":53876633,"number":1625,"title":"Optimizing AST node visitor","user":{"login":"ahejlsberg","id":4226954,"avatar_url":"https://avatars.githubusercontent.com/u/4226954?v=3","gravatar_id":"","url":"https://api.github.com/users/ahejlsberg","html_url":"https://github.com/ahejlsberg","followers_url":"https://api.github.com/users/ahejlsberg/followers","following_url":"https://api.github.com/users/ahejlsberg/following{/other_user}","gists_url":"https://api.github.com/users/ahejlsberg/gists{/gist_id}","starred_url":"https://api.github.com/users/ahejlsberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahejlsberg/subscriptions","organizations_url":"https://api.github.com/users/ahejlsberg/orgs","repos_url":"https://api.github.com/users/ahejlsberg/repos","events_url":"https://api.github.com/users/ahejlsberg/events{/privacy}","received_events_url":"https://api.github.com/users/ahejlsberg/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Microsoft/TypeScript/labels/cla-not-required","name":"cla-not-required","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-09T15:07:10Z","updated_at":"2015-01-09T18:09:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Microsoft/TypeScript/pulls/1625","html_url":"https://github.com/Microsoft/TypeScript/pull/1625","diff_url":"https://github.com/Microsoft/TypeScript/pull/1625.diff","patch_url":"https://github.com/Microsoft/TypeScript/pull/1625.patch"},"body":"This PR optimizes the forEachChild visitor function. The function previously used nested helper functions that caused closure allocations, but those helpers are now regular functions and the additional information is passed as a parameter. The Monaco project compiles ~6% faster on node.js (v0.10.35) and ~2% faster on Chakra with this optimization."},"comment":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/comments/69373682","html_url":"https://github.com/Microsoft/TypeScript/pull/1625#issuecomment-69373682","issue_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/1625","id":69373682,"user":{"login":"vladima","id":8052307,"avatar_url":"https://avatars.githubusercontent.com/u/8052307?v=3","gravatar_id":"","url":"https://api.github.com/users/vladima","html_url":"https://github.com/vladima","followers_url":"https://api.github.com/users/vladima/followers","following_url":"https://api.github.com/users/vladima/following{/other_user}","gists_url":"https://api.github.com/users/vladima/gists{/gist_id}","starred_url":"https://api.github.com/users/vladima/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladima/subscriptions","organizations_url":"https://api.github.com/users/vladima/orgs","repos_url":"https://api.github.com/users/vladima/repos","events_url":"https://api.github.com/users/vladima/events{/privacy}","received_events_url":"https://api.github.com/users/vladima/received_events","type":"User","site_admin":false},"created_at":"2015-01-09T18:09:55Z","updated_at":"2015-01-09T18:09:55Z","body":":+1: "}}