{"action":"created","issue":{"url":"https://api.github.com/repos/relevance/edn-ruby/issues/35","labels_url":"https://api.github.com/repos/relevance/edn-ruby/issues/35/labels{/name}","comments_url":"https://api.github.com/repos/relevance/edn-ruby/issues/35/comments","events_url":"https://api.github.com/repos/relevance/edn-ruby/issues/35/events","html_url":"https://github.com/relevance/edn-ruby/issues/35","id":72480255,"number":35,"title":"Ragel-based C extension","user":{"login":"edporras","id":427325,"avatar_url":"https://avatars.githubusercontent.com/u/427325?v=3","gravatar_id":"","url":"https://api.github.com/users/edporras","html_url":"https://github.com/edporras","followers_url":"https://api.github.com/users/edporras/followers","following_url":"https://api.github.com/users/edporras/following{/other_user}","gists_url":"https://api.github.com/users/edporras/gists{/gist_id}","starred_url":"https://api.github.com/users/edporras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edporras/subscriptions","organizations_url":"https://api.github.com/users/edporras/orgs","repos_url":"https://api.github.com/users/edporras/repos","events_url":"https://api.github.com/users/edporras/events{/privacy}","received_events_url":"https://api.github.com/users/edporras/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-05-01T17:32:15Z","updated_at":"2015-06-22T15:33:06Z","closed_at":null,"body":"Hi there,\r\n\r\nI've started work on a gem for parsing EDN as my group needs to do this for large sets of document data. The main tool I am using it with reads ruby objects dumped in EDN format so I've implemented support for (I think) most or everything I need in that regard but a colleague does need it to read more complete EDN data with tagged elements and sets. I'll be working on this next but wanted to check if there's any interest in integrating it into `edn-ruby`, either replacing or, perhaps, adding an option at build time to choose between the existing ruby- and the c++/ragel-based parser. I based the project on the `json-ragel` (https://github.com/flori/json) gem source which looks to do something similar (Florian's source was indispensable in helping me understand how ragel works and who to tie it into a ruby extension. I need to credit him for this).\r\n\r\nI maintain a couple of gems that we use internally but this is the first one I create publicly so I apologize if this is not the proper way to approach you about this. If you think you are interested, I will start looking to see how to integrate it into `edn-ruby` once I have more complete EDN support so I can submit a pull request. I wasn't planning on adding support for EDN writing since the performance hit is not significant on that end.\r\n\r\nIf you're interested in what I have so far, the source is available at [https://github.com/edporras/edn_turbo](https://github.com/edporras/edn_turbo). I have benchmarked a few documents and speed up can be highly significant depending on the content.\r\n\r\nHope to hear from you soon. Thank you."},"comment":{"url":"https://api.github.com/repos/relevance/edn-ruby/issues/comments/114155430","html_url":"https://github.com/relevance/edn-ruby/issues/35#issuecomment-114155430","issue_url":"https://api.github.com/repos/relevance/edn-ruby/issues/35","id":114155430,"user":{"login":"russolsen","id":175851,"avatar_url":"https://avatars.githubusercontent.com/u/175851?v=3","gravatar_id":"","url":"https://api.github.com/users/russolsen","html_url":"https://github.com/russolsen","followers_url":"https://api.github.com/users/russolsen/followers","following_url":"https://api.github.com/users/russolsen/following{/other_user}","gists_url":"https://api.github.com/users/russolsen/gists{/gist_id}","starred_url":"https://api.github.com/users/russolsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russolsen/subscriptions","organizations_url":"https://api.github.com/users/russolsen/orgs","repos_url":"https://api.github.com/users/russolsen/repos","events_url":"https://api.github.com/users/russolsen/events{/privacy}","received_events_url":"https://api.github.com/users/russolsen/received_events","type":"User","site_admin":false},"created_at":"2015-06-22T15:33:06Z","updated_at":"2015-06-22T15:33:06Z","body":"Ed,\r\n\r\nFor quicker turnaround, feel free to email me directly at russ@russolsen.com\r\n\r\nR"}}