{"action":"opened","issue":{"url":"https://api.github.com/repos/echo66/PhaseVocoderJS/issues/15","labels_url":"https://api.github.com/repos/echo66/PhaseVocoderJS/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/echo66/PhaseVocoderJS/issues/15/comments","events_url":"https://api.github.com/repos/echo66/PhaseVocoderJS/issues/15/events","html_url":"https://github.com/echo66/PhaseVocoderJS/issues/15","id":74430906,"number":15,"title":"Manage memory \"manually\"","user":{"login":"echo66","id":778261,"avatar_url":"https://avatars.githubusercontent.com/u/778261?v=3","gravatar_id":"","url":"https://api.github.com/users/echo66","html_url":"https://github.com/echo66","followers_url":"https://api.github.com/users/echo66/followers","following_url":"https://api.github.com/users/echo66/following{/other_user}","gists_url":"https://api.github.com/users/echo66/gists{/gist_id}","starred_url":"https://api.github.com/users/echo66/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/echo66/subscriptions","organizations_url":"https://api.github.com/users/echo66/orgs","repos_url":"https://api.github.com/users/echo66/repos","events_url":"https://api.github.com/users/echo66/events{/privacy}","received_events_url":"https://api.github.com/users/echo66/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/echo66/PhaseVocoderJS/labels/optimization","name":"optimization","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"echo66","id":778261,"avatar_url":"https://avatars.githubusercontent.com/u/778261?v=3","gravatar_id":"","url":"https://api.github.com/users/echo66","html_url":"https://github.com/echo66","followers_url":"https://api.github.com/users/echo66/followers","following_url":"https://api.github.com/users/echo66/following{/other_user}","gists_url":"https://api.github.com/users/echo66/gists{/gist_id}","starred_url":"https://api.github.com/users/echo66/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/echo66/subscriptions","organizations_url":"https://api.github.com/users/echo66/orgs","repos_url":"https://api.github.com/users/echo66/repos","events_url":"https://api.github.com/users/echo66/events{/privacy}","received_events_url":"https://api.github.com/users/echo66/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-05-08T17:11:32Z","updated_at":"2015-05-08T17:11:32Z","closed_at":null,"body":"Right now, the phase vocoder implementation is creating A LOT of arrays (Array & Float64Array). This has a negative impact due to the fact that I can't control the garbage collector. And, in fact, this may be the real cause for poor performance when dealing with more than two tracks. So, I need to alloc enough memory (i.e. create a memory heap) in the phase vocoder constructor and each vector/array access will be coded as HEAP[start + position]."}}