{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaStats/DataFramesMeta.jl/issues/1","labels_url":"https://api.github.com/repos/JuliaStats/DataFramesMeta.jl/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/JuliaStats/DataFramesMeta.jl/issues/1/comments","events_url":"https://api.github.com/repos/JuliaStats/DataFramesMeta.jl/issues/1/events","html_url":"https://github.com/JuliaStats/DataFramesMeta.jl/issues/1","id":26928529,"number":1,"title":"Generic discussions about using metaprogramming with DataFrames","user":{"login":"tshort","id":636420,"avatar_url":"https://avatars.githubusercontent.com/u/636420?v=3","gravatar_id":"","url":"https://api.github.com/users/tshort","html_url":"https://github.com/tshort","followers_url":"https://api.github.com/users/tshort/followers","following_url":"https://api.github.com/users/tshort/following{/other_user}","gists_url":"https://api.github.com/users/tshort/gists{/gist_id}","starred_url":"https://api.github.com/users/tshort/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tshort/subscriptions","organizations_url":"https://api.github.com/users/tshort/orgs","repos_url":"https://api.github.com/users/tshort/repos","events_url":"https://api.github.com/users/tshort/events{/privacy}","received_events_url":"https://api.github.com/users/tshort/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2014-02-05T00:24:05Z","updated_at":"2015-05-22T21:38:42Z","closed_at":null,"body":"Here are several issues that discuss metaprogramming and/or different\r\napproaches to query and manipulate DataFrames:\r\n\r\n- https://github.com/JuliaStats/DataFrames.jl/issues/523\r\n- https://github.com/JuliaStats/DataFrames.jl/pull/472\r\n- https://github.com/JuliaStats/DataFrames.jl/issues/504\r\n- https://github.com/JuliaStats/DataFrames.jl/issues/381\r\n- https://github.com/JuliaStats/DataFrames.jl/issues/369\r\n\r\nPlease add additional comments here on better approaches to querying DataFrames."},"comment":{"url":"https://api.github.com/repos/JuliaStats/DataFramesMeta.jl/issues/comments/104782700","html_url":"https://github.com/JuliaStats/DataFramesMeta.jl/issues/1#issuecomment-104782700","issue_url":"https://api.github.com/repos/JuliaStats/DataFramesMeta.jl/issues/1","id":104782700,"user":{"login":"davidagold","id":11862683,"avatar_url":"https://avatars.githubusercontent.com/u/11862683?v=3","gravatar_id":"","url":"https://api.github.com/users/davidagold","html_url":"https://github.com/davidagold","followers_url":"https://api.github.com/users/davidagold/followers","following_url":"https://api.github.com/users/davidagold/following{/other_user}","gists_url":"https://api.github.com/users/davidagold/gists{/gist_id}","starred_url":"https://api.github.com/users/davidagold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidagold/subscriptions","organizations_url":"https://api.github.com/users/davidagold/orgs","repos_url":"https://api.github.com/users/davidagold/repos","events_url":"https://api.github.com/users/davidagold/events{/privacy}","received_events_url":"https://api.github.com/users/davidagold/received_events","type":"User","site_admin":false},"created_at":"2015-05-22T21:38:42Z","updated_at":"2015-05-22T21:38:42Z","body":"@tshort After implementing your suggestion the same tests as above now give:\r\n```\r\nelapsed time: 3.841014122 seconds (1280088960 bytes allocated, 25.72% gc time)\r\nf1: 1.6670060387376607e6\r\n\r\nelapsed time: 2.611359312 seconds (1120132752 bytes allocated, 37.45% gc time)\r\nf2: 1.6670060387376607e6\r\n\r\n\r\nelapsed time: 3.53787387 seconds (1200062760 bytes allocated, 22.51% gc time)\r\ng1: nothing\r\n\r\nelapsed time: 3.085036564 seconds (1360203344 bytes allocated, 32.94% gc time)\r\ng2: nothing\r\n```\r\nwhere (as a reminder) f1/g1 use `@byrow` (which now essentially does the same thing as f3/g3 above) and f2/g2 converts DataFrame columns to Arrays and loops through the latter. If you have any more suggestions for performance, I am game to investigate."}}