{"action":"created","issue":{"url":"https://api.github.com/repos/sass/libsass/issues/2171","repository_url":"https://api.github.com/repos/sass/libsass","labels_url":"https://api.github.com/repos/sass/libsass/issues/2171/labels{/name}","comments_url":"https://api.github.com/repos/sass/libsass/issues/2171/comments","events_url":"https://api.github.com/repos/sass/libsass/issues/2171/events","html_url":"https://github.com/sass/libsass/pull/2171","id":175187119,"number":2171,"title":"Improve memory footprint when evaluating in loops","user":{"login":"mgreter","id":282293,"avatar_url":"https://avatars.githubusercontent.com/u/282293?v=3","gravatar_id":"","url":"https://api.github.com/users/mgreter","html_url":"https://github.com/mgreter","followers_url":"https://api.github.com/users/mgreter/followers","following_url":"https://api.github.com/users/mgreter/following{/other_user}","gists_url":"https://api.github.com/users/mgreter/gists{/gist_id}","starred_url":"https://api.github.com/users/mgreter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgreter/subscriptions","organizations_url":"https://api.github.com/users/mgreter/orgs","repos_url":"https://api.github.com/users/mgreter/repos","events_url":"https://api.github.com/users/mgreter/events{/privacy}","received_events_url":"https://api.github.com/users/mgreter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sass/libsass/labels/Dev%20-%20PR%20Ready","name":"Dev - PR Ready","color":"00FF00"}],"state":"closed","locked":false,"assignee":{"login":"mgreter","id":282293,"avatar_url":"https://avatars.githubusercontent.com/u/282293?v=3","gravatar_id":"","url":"https://api.github.com/users/mgreter","html_url":"https://github.com/mgreter","followers_url":"https://api.github.com/users/mgreter/followers","following_url":"https://api.github.com/users/mgreter/following{/other_user}","gists_url":"https://api.github.com/users/mgreter/gists{/gist_id}","starred_url":"https://api.github.com/users/mgreter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgreter/subscriptions","organizations_url":"https://api.github.com/users/mgreter/orgs","repos_url":"https://api.github.com/users/mgreter/repos","events_url":"https://api.github.com/users/mgreter/events{/privacy}","received_events_url":"https://api.github.com/users/mgreter/received_events","type":"User","site_admin":false},"assignees":[{"login":"mgreter","id":282293,"avatar_url":"https://avatars.githubusercontent.com/u/282293?v=3","gravatar_id":"","url":"https://api.github.com/users/mgreter","html_url":"https://github.com/mgreter","followers_url":"https://api.github.com/users/mgreter/followers","following_url":"https://api.github.com/users/mgreter/following{/other_user}","gists_url":"https://api.github.com/users/mgreter/gists{/gist_id}","starred_url":"https://api.github.com/users/mgreter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgreter/subscriptions","organizations_url":"https://api.github.com/users/mgreter/orgs","repos_url":"https://api.github.com/users/mgreter/repos","events_url":"https://api.github.com/users/mgreter/events{/privacy}","received_events_url":"https://api.github.com/users/mgreter/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/sass/libsass/milestones/19","html_url":"https://github.com/sass/libsass/milestones/3.3.7","labels_url":"https://api.github.com/repos/sass/libsass/milestones/19/labels","id":1726380,"number":19,"title":"3.3.7","description":"- Next iteration with refactoring to match ruby sass 3.4.22 parsing and output","creator":{"login":"mgreter","id":282293,"avatar_url":"https://avatars.githubusercontent.com/u/282293?v=3","gravatar_id":"","url":"https://api.github.com/users/mgreter","html_url":"https://github.com/mgreter","followers_url":"https://api.github.com/users/mgreter/followers","following_url":"https://api.github.com/users/mgreter/following{/other_user}","gists_url":"https://api.github.com/users/mgreter/gists{/gist_id}","starred_url":"https://api.github.com/users/mgreter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgreter/subscriptions","organizations_url":"https://api.github.com/users/mgreter/orgs","repos_url":"https://api.github.com/users/mgreter/repos","events_url":"https://api.github.com/users/mgreter/events{/privacy}","received_events_url":"https://api.github.com/users/mgreter/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":61,"state":"open","created_at":"2016-04-23T04:40:11Z","updated_at":"2016-09-07T11:18:52Z","due_on":"2016-05-22T22:00:00Z","closed_at":null},"comments":3,"created_at":"2016-09-06T08:20:11Z","updated_at":"2016-09-07T11:22:23Z","closed_at":"2016-09-07T09:09:35Z","pull_request":{"url":"https://api.github.com/repos/sass/libsass/pulls/2171","html_url":"https://github.com/sass/libsass/pull/2171","diff_url":"https://github.com/sass/libsass/pull/2171.diff","patch_url":"https://github.com/sass/libsass/pull/2171.patch"},"body":"We are cloning/copying too many objects when evaluating loops. i.e. a simple `map-get` call will always clone the full map that is passed, which can lead to an absurd amount of allocated memory. But we cannot really cache the results as 1) variables can be re-assigned and 2) some code paths (i.e. equality checks) evaluate binary expressions different than normaly. This fix will only cache \"delayed\" results, which should cover 90% of the cases. This should also improve performance in certain cases by a lot."},"comment":{"url":"https://api.github.com/repos/sass/libsass/issues/comments/245251237","html_url":"https://github.com/sass/libsass/pull/2171#issuecomment-245251237","issue_url":"https://api.github.com/repos/sass/libsass/issues/2171","id":245251237,"user":{"login":"xzyfer","id":579928,"avatar_url":"https://avatars.githubusercontent.com/u/579928?v=3","gravatar_id":"","url":"https://api.github.com/users/xzyfer","html_url":"https://github.com/xzyfer","followers_url":"https://api.github.com/users/xzyfer/followers","following_url":"https://api.github.com/users/xzyfer/following{/other_user}","gists_url":"https://api.github.com/users/xzyfer/gists{/gist_id}","starred_url":"https://api.github.com/users/xzyfer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xzyfer/subscriptions","organizations_url":"https://api.github.com/users/xzyfer/orgs","repos_url":"https://api.github.com/users/xzyfer/repos","events_url":"https://api.github.com/users/xzyfer/events{/privacy}","received_events_url":"https://api.github.com/users/xzyfer/received_events","type":"User","site_admin":false},"created_at":"2016-09-07T11:22:23Z","updated_at":"2016-09-07T11:22:23Z","body":"I have a feel delayed values are not long for this earth"}}
{"actor":{"display_login":"xzyfer"}}