{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/PTVS/issues/749","repository_url":"https://api.github.com/repos/Microsoft/PTVS","labels_url":"https://api.github.com/repos/Microsoft/PTVS/issues/749/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/PTVS/issues/749/comments","events_url":"https://api.github.com/repos/Microsoft/PTVS/issues/749/events","html_url":"https://github.com/Microsoft/PTVS/issues/749","id":100904218,"number":749,"title":"Improve debugger performance by rewriting parts in native code","user":{"login":"int19h","id":1175142,"avatar_url":"https://avatars.githubusercontent.com/u/1175142?v=3","gravatar_id":"","url":"https://api.github.com/users/int19h","html_url":"https://github.com/int19h","followers_url":"https://api.github.com/users/int19h/followers","following_url":"https://api.github.com/users/int19h/following{/other_user}","gists_url":"https://api.github.com/users/int19h/gists{/gist_id}","starred_url":"https://api.github.com/users/int19h/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/int19h/subscriptions","organizations_url":"https://api.github.com/users/int19h/orgs","repos_url":"https://api.github.com/users/int19h/repos","events_url":"https://api.github.com/users/int19h/events{/privacy}","received_events_url":"https://api.github.com/users/int19h/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Microsoft/PTVS/labels/Debugger","name":"Debugger","color":"fef2c0"},{"url":"https://api.github.com/repos/Microsoft/PTVS/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/Microsoft/PTVS/milestones/5","html_url":"https://github.com/Microsoft/PTVS/milestones/3.0","labels_url":"https://api.github.com/repos/Microsoft/PTVS/milestones/5/labels","id":1250457,"number":5,"title":"3.0","description":"Next major release of PTVS. This release will have limited new features, and will focus mainly on reducing technical debt, refactoring code that has become unwieldy, and improving installation and general usage experience.\r\n\r\nThe increase in version number is due to breaking API changes that will be introduced in this version. Extensions targeted for PTVS 2.x may no longer work with PTVS 3.x.","creator":{"login":"zooba","id":1693688,"avatar_url":"https://avatars.githubusercontent.com/u/1693688?v=3","gravatar_id":"","url":"https://api.github.com/users/zooba","html_url":"https://github.com/zooba","followers_url":"https://api.github.com/users/zooba/followers","following_url":"https://api.github.com/users/zooba/following{/other_user}","gists_url":"https://api.github.com/users/zooba/gists{/gist_id}","starred_url":"https://api.github.com/users/zooba/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zooba/subscriptions","organizations_url":"https://api.github.com/users/zooba/orgs","repos_url":"https://api.github.com/users/zooba/repos","events_url":"https://api.github.com/users/zooba/events{/privacy}","received_events_url":"https://api.github.com/users/zooba/received_events","type":"User","site_admin":false},"open_issues":56,"closed_issues":25,"state":"open","created_at":"2015-08-11T18:40:20Z","updated_at":"2016-05-26T23:56:19Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2015-08-14T00:58:50Z","updated_at":"2016-06-14T13:41:58Z","closed_at":null,"body":"Using Python callbacks for debug events (`sys.settrace`) is incredibly slow due to the overhead of calling and evaluating several lines of Python code for every line executed by the main interpreter loop. Switching to an implementation that has pure native code on the hottest path (i.e. per-line callbacks, determining breakpoints that are hit, no stepping in progress) can give anywhere from 2x to 15x improvement in performance, depending on the code.\r\n\r\nBecause such an implementation would rely on CPython extensibility API and ABI, it would necessarily be specific to CPython. So this must be optional, with a pure Python fallback for use with PyPy, IronPython, Jython etc."},"comment":{"url":"https://api.github.com/repos/Microsoft/PTVS/issues/comments/225884283","html_url":"https://github.com/Microsoft/PTVS/issues/749#issuecomment-225884283","issue_url":"https://api.github.com/repos/Microsoft/PTVS/issues/749","id":225884283,"user":{"login":"denfromufa","id":7870949,"avatar_url":"https://avatars.githubusercontent.com/u/7870949?v=3","gravatar_id":"","url":"https://api.github.com/users/denfromufa","html_url":"https://github.com/denfromufa","followers_url":"https://api.github.com/users/denfromufa/followers","following_url":"https://api.github.com/users/denfromufa/following{/other_user}","gists_url":"https://api.github.com/users/denfromufa/gists{/gist_id}","starred_url":"https://api.github.com/users/denfromufa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/denfromufa/subscriptions","organizations_url":"https://api.github.com/users/denfromufa/orgs","repos_url":"https://api.github.com/users/denfromufa/repos","events_url":"https://api.github.com/users/denfromufa/events{/privacy}","received_events_url":"https://api.github.com/users/denfromufa/received_events","type":"User","site_admin":false},"created_at":"2016-06-14T13:41:58Z","updated_at":"2016-06-14T13:41:58Z","body":"@zooba @int19h why don't you re-write in 'native cython' like pydevd did?\r\n\r\nhttps://pypi.python.org/pypi/pydevd"}}
{"actor":{"display_login":"denfromufa"}}