{"action":"opened","issue":{"url":"https://api.github.com/repos/egonSchiele/contracts.ruby/issues/163","labels_url":"https://api.github.com/repos/egonSchiele/contracts.ruby/issues/163/labels{/name}","comments_url":"https://api.github.com/repos/egonSchiele/contracts.ruby/issues/163/comments","events_url":"https://api.github.com/repos/egonSchiele/contracts.ruby/issues/163/events","html_url":"https://github.com/egonSchiele/contracts.ruby/issues/163","id":89066417,"number":163,"title":"Use a macro preprocessor for speed","user":{"login":"sfcgeorge","id":885003,"avatar_url":"https://avatars.githubusercontent.com/u/885003?v=3","gravatar_id":"","url":"https://api.github.com/users/sfcgeorge","html_url":"https://github.com/sfcgeorge","followers_url":"https://api.github.com/users/sfcgeorge/followers","following_url":"https://api.github.com/users/sfcgeorge/following{/other_user}","gists_url":"https://api.github.com/users/sfcgeorge/gists{/gist_id}","starred_url":"https://api.github.com/users/sfcgeorge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfcgeorge/subscriptions","organizations_url":"https://api.github.com/users/sfcgeorge/orgs","repos_url":"https://api.github.com/users/sfcgeorge/repos","events_url":"https://api.github.com/users/sfcgeorge/events{/privacy}","received_events_url":"https://api.github.com/users/sfcgeorge/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-06-17T16:37:48Z","updated_at":"2015-06-17T16:37:48Z","closed_at":null,"body":"A while ago a suggestion came up to inline some of the code (e.g. method calls) to speed up Contracts, but to use an automated tool to do it so our code can remain nice. Perhaps other performance increases could be made in this way, e.g. unwinding loops.\r\n\r\nI came across this new macro preprocessor that might do the job, or at least provide inspiration. Or simulating Crystal lang's macros with a preprocessor. https://github.com/alehander42/sith"}}