Benchmark Explorer.DataFrame.from_list/1
Mix . install ( [
{ :benchee , "~> 1.0.0" } ,
{ :explorer , github: "kimjoaoun/explorer" , branch: "joao/from_list" }
] )
example = [
% { id: 1 , name: "José" } ,
% { id: 2 , name: "Christopher" } ,
% { id: 3 , name: "Cristine" } ,
% { id: 4 , name: "João" } ,
% { id: 5 , name: "Philip" } ,
% { id: 6 , name: "Jonatan" } ,
% { id: 7 , name: "Wojtek" }
]
Benchee . run (
% {
"from_list" => fn -> Explorer.DataFrame . from_list ( example ) end ,
"from_map" => fn ->
example_map = % {
id: Enum . map ( example , & Map . fetch! ( & 1 , :id ) ) ,
name: Enum . map ( example , & Map . fetch! ( & 1 , :name ) )
}
Explorer.DataFrame . from_map ( example_map )
end
} ,
time: 10 ,
memory_time: 2
)
example =
[
% { id: 1 , name: "José" } ,
% { id: 2 , name: "Christopher" } ,
% { id: 3 , name: "Cristine" } ,
% { id: 4 , name: "João" } ,
% { id: 5 , name: "Philip" } ,
% { id: 6 , name: "Jonatan" } ,
% { id: 7 , name: "Wojtek" }
]
|> List . duplicate ( 10 )
|> List . flatten ( )
Benchee . run (
% {
"from_list" => fn -> Explorer.DataFrame . from_list ( example ) end ,
"from_map" => fn ->
example_map = % {
id: Enum . map ( example , & Map . fetch! ( & 1 , :id ) ) ,
name: Enum . map ( example , & Map . fetch! ( & 1 , :name ) )
}
Explorer.DataFrame . from_map ( example_map )
end
} ,
time: 10 ,
memory_time: 2
)