{"action":"created","issue":{"url":"https://api.github.com/repos/ilammy/srfi-60/issues/6","labels_url":"https://api.github.com/repos/ilammy/srfi-60/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/ilammy/srfi-60/issues/6/comments","events_url":"https://api.github.com/repos/ilammy/srfi-60/issues/6/events","html_url":"https://github.com/ilammy/srfi-60/issues/6","id":65044441,"number":6,"title":"Improve performance of portable implementation","user":{"login":"ilammy","id":1256587,"avatar_url":"https://avatars.githubusercontent.com/u/1256587?v=3","gravatar_id":"","url":"https://api.github.com/users/ilammy","html_url":"https://github.com/ilammy","followers_url":"https://api.github.com/users/ilammy/followers","following_url":"https://api.github.com/users/ilammy/following{/other_user}","gists_url":"https://api.github.com/users/ilammy/gists{/gist_id}","starred_url":"https://api.github.com/users/ilammy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilammy/subscriptions","organizations_url":"https://api.github.com/users/ilammy/orgs","repos_url":"https://api.github.com/users/ilammy/repos","events_url":"https://api.github.com/users/ilammy/events{/privacy}","received_events_url":"https://api.github.com/users/ilammy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ilammy/srfi-60/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"ilammy","id":1256587,"avatar_url":"https://avatars.githubusercontent.com/u/1256587?v=3","gravatar_id":"","url":"https://api.github.com/users/ilammy","html_url":"https://github.com/ilammy","followers_url":"https://api.github.com/users/ilammy/followers","following_url":"https://api.github.com/users/ilammy/following{/other_user}","gists_url":"https://api.github.com/users/ilammy/gists{/gist_id}","starred_url":"https://api.github.com/users/ilammy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilammy/subscriptions","organizations_url":"https://api.github.com/users/ilammy/orgs","repos_url":"https://api.github.com/users/ilammy/repos","events_url":"https://api.github.com/users/ilammy/events{/privacy}","received_events_url":"https://api.github.com/users/ilammy/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ilammy/srfi-60/milestones/1","html_url":"https://github.com/ilammy/srfi-60/milestones/1.0.0","labels_url":"https://api.github.com/repos/ilammy/srfi-60/milestones/1/labels","id":1030098,"number":1,"title":"1.0.0","description":null,"creator":{"login":"ilammy","id":1256587,"avatar_url":"https://avatars.githubusercontent.com/u/1256587?v=3","gravatar_id":"","url":"https://api.github.com/users/ilammy","html_url":"https://github.com/ilammy","followers_url":"https://api.github.com/users/ilammy/followers","following_url":"https://api.github.com/users/ilammy/following{/other_user}","gists_url":"https://api.github.com/users/ilammy/gists{/gist_id}","starred_url":"https://api.github.com/users/ilammy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilammy/subscriptions","organizations_url":"https://api.github.com/users/ilammy/orgs","repos_url":"https://api.github.com/users/ilammy/repos","events_url":"https://api.github.com/users/ilammy/events{/privacy}","received_events_url":"https://api.github.com/users/ilammy/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":2,"state":"open","created_at":"2015-03-19T21:58:40Z","updated_at":"2015-03-29T10:02:54Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2015-03-29T10:02:30Z","updated_at":"2015-04-02T22:36:10Z","closed_at":null,"body":"*Step 0:*\r\n\r\n- [x] write benchmarks\r\n\r\nI do not think that we should be overzealous with them, Chibi is interpreted anyway so super-crazy microbenchmarks will be unreliable. It would be okay to see only magnitude changes. They also will be useful to see whether a native implementation is actually worth it (for fixnums).\r\n\r\nBenchmarks should be written per exported procedure. I think we will not need an overall one as we can surefirely mitigate Chibi loading time by doing a 1 second+ benchmark.\r\n\r\nCover fixnum and bignum cases.\r\n\r\nThey should export data as CSV, to be able to easily process it by third-party tools, draw graphs, etc.\r\n\r\n*Step 1:*\r\n\r\n- [x] specialize generic map-over-integer\r\n- [ ] use fewer temporary bignums\r\n- [x] employ hints about fixnum size to divide bignums less frequently\r\n\r\nI do not think we can do much better for fixnums, but here are some points that can be optimized for bignums. I am curious about how much they yield."},"comment":{"url":"https://api.github.com/repos/ilammy/srfi-60/issues/comments/89065520","html_url":"https://github.com/ilammy/srfi-60/issues/6#issuecomment-89065520","issue_url":"https://api.github.com/repos/ilammy/srfi-60/issues/6","id":89065520,"user":{"login":"ilammy","id":1256587,"avatar_url":"https://avatars.githubusercontent.com/u/1256587?v=3","gravatar_id":"","url":"https://api.github.com/users/ilammy","html_url":"https://github.com/ilammy","followers_url":"https://api.github.com/users/ilammy/followers","following_url":"https://api.github.com/users/ilammy/following{/other_user}","gists_url":"https://api.github.com/users/ilammy/gists{/gist_id}","starred_url":"https://api.github.com/users/ilammy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilammy/subscriptions","organizations_url":"https://api.github.com/users/ilammy/orgs","repos_url":"https://api.github.com/users/ilammy/repos","events_url":"https://api.github.com/users/ilammy/events{/privacy}","received_events_url":"https://api.github.com/users/ilammy/received_events","type":"User","site_admin":false},"created_at":"2015-04-02T22:36:10Z","updated_at":"2015-04-02T22:36:10Z","body":"Reporting about progress. Temporary abolishment gives pretty good results. It seems that only `bitwise-{and,ior,xor}` and `reverse-bit-field` _can't be_ rewritten with just arithmetics and require iteration over nibbles or bytes."}}