{"id":17053574,"url":"https://github.com/vnegrisolo/study_elixir","last_synced_at":"2025-09-17T16:05:42.311Z","repository":{"id":80468280,"uuid":"86934355","full_name":"vnegrisolo/study_elixir","owner":"vnegrisolo","description":"some algorithms in Elixir for studying","archived":false,"fork":false,"pushed_at":"2017-06-04T19:41:32.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-23T05:26:00.143Z","etag":null,"topics":["algorithms","elixir"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vnegrisolo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-01T18:37:27.000Z","updated_at":"2017-06-16T23:49:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"6fbaa070-1cc6-4440-9b69-05015cd25e1d","html_url":"https://github.com/vnegrisolo/study_elixir","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vnegrisolo/study_elixir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnegrisolo%2Fstudy_elixir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnegrisolo%2Fstudy_elixir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnegrisolo%2Fstudy_elixir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnegrisolo%2Fstudy_elixir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vnegrisolo","download_url":"https://codeload.github.com/vnegrisolo/study_elixir/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnegrisolo%2Fstudy_elixir/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275622943,"owners_count":25498328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","elixir"],"created_at":"2024-10-14T10:12:40.395Z","updated_at":"2025-09-17T16:05:42.268Z","avatar_url":"https://github.com/vnegrisolo.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StudyElixir\n\nSome algorithms in Elixir for studying.\n\n## Profiles and Benchmarks\n\nFor running profiles and benchmarks use iex:\n\n```shell\niex -S mix\n```\n\n### Profiles\n\n```elixir\nFactorial.profile\nFibonacci.profile\n```\n\n### Benchmarks\n\n```elixir\nFactorial.benchmark\nFibonacci.benchmark\n```\n\n### Results:\n\nSo far that's what I have:\n\n```shell\nprofile for Elixir.Factorial.Simple\nFUNCTION                                  CALLS        %  TIME  [uS / CALLS]\n--------                                  -----  -------  ----  [----------]\nerlang:send/2                                 1     0.00     0  [      0.00]\n'Elixir.Factorial':'-profile/1-fun-0-'/1      1    15.22     7  [      7.00]\n'Elixir.Factorial.Simple':run/1             11    84.78    39  [      3.55]\n----------------------------------------  -----  -------  ----  [----------]\nTotal:                                       13  100.00%    46  [      3.54]\nprofile for Elixir.Factorial.TailCall\nFUNCTION                                  CALLS        %  TIME  [uS / CALLS]\n--------                                  -----  -------  ----  [----------]\nerlang:send/2                                 1     0.00     0  [      0.00]\n'Elixir.Factorial.TailCall':run/1            1    11.11     3  [      3.00]\n'Elixir.Factorial':'-profile/1-fun-0-'/1      1    22.22     6  [      6.00]\n'Elixir.Factorial.TailCall':run/2           11    66.67    18  [      1.64]\n----------------------------------------  -----  -------  ----  [----------]\nTotal:                                       14  100.00%    27  [      1.93]\n```\n\n```shell\n##### With input Large #####\nName                                ips        average  deviation         median\nElixir.Factorial.TailCall        1.29 M        0.78 μs   ±407.32%        0.70 μs\nElixir.Factorial.Simple          1.05 M        0.95 μs   ±223.20%        0.90 μs\n\nComparison:\nElixir.Factorial.TailCall        1.29 M\nElixir.Factorial.Simple          1.05 M - 1.23x slower\n\n##### With input Medium #####\nName                                ips        average  deviation         median\nElixir.Factorial.TailCall        3.70 M        0.27 μs    ±30.21%        0.26 μs\nElixir.Factorial.Simple          2.74 M        0.37 μs    ±39.57%        0.35 μs\n\nComparison:\nElixir.Factorial.TailCall        3.70 M\nElixir.Factorial.Simple          2.74 M - 1.35x slower\n\n##### With input Small #####\nName                                ips        average  deviation         median\nElixir.Factorial.TailCall        6.31 M       0.159 μs    ±27.55%       0.160 μs\nElixir.Factorial.Simple          4.71 M        0.21 μs    ±30.67%        0.21 μs\n\nComparison:\nElixir.Factorial.TailCall        6.31 M\nElixir.Factorial.Simple          4.71 M - 1.34x slower\n```\n\n```shell\nprofile for Elixir.Fibonacci.Simple\nFUNCTION                                  CALLS        %  TIME  [uS / CALLS]\n--------                                  -----  -------  ----  [----------]\nerlang:send/2                                 1     0.00     0  [      0.00]\n'Elixir.Fibonacci':'-profile/1-fun-0-'/1      1     1.24     6  [      6.00]\n'Elixir.Fibonacci.Simple':fib/1             177    98.76   476  [      2.69]\n----------------------------------------  -----  -------  ----  [----------]\nTotal:                                      179  100.00%   482  [      2.69]\nprofile for Elixir.Fibonacci.Inverse\nFUNCTION                                  CALLS        %  TIME  [uS / CALLS]\n--------                                  -----  -------  ----  [----------]\nerlang:send/2                                 1     0.00     0  [      0.00]\n'Elixir.Fibonacci.Inverse':fib/1              1    17.39     4  [      4.00]\n'Elixir.Fibonacci':'-profile/1-fun-0-'/1      1    30.43     7  [      7.00]\n'Elixir.Fibonacci.Inverse':fib/3             11    52.17    12  [      1.09]\n----------------------------------------  -----  -------  ----  [----------]\nTotal:                                       14  100.00%    23  [      1.64]\n```\n\n```shell\n##### With input Large #####\nName                               ips        average  deviation         median\nElixir.Fibonacci.Inverse        3.11 M     0.00032 ms    ±15.33%     0.00032 ms\nElixir.Fibonacci.Simple      0.00027 M        3.67 ms     ±7.84%        3.60 ms\n\nComparison:\nElixir.Fibonacci.Inverse        3.11 M\nElixir.Fibonacci.Simple      0.00027 M - 11398.95x slower\n\n##### With input Medium #####\nName                               ips        average  deviation         median\nElixir.Fibonacci.Inverse        6.01 M       0.167 μs    ±27.35%       0.160 μs\nElixir.Fibonacci.Simple         0.36 M        2.78 μs    ±27.34%        2.70 μs\n\nComparison:\nElixir.Fibonacci.Inverse        6.01 M\nElixir.Fibonacci.Simple         0.36 M - 16.71x slower\n\n##### With input Small #####\nName                               ips        average  deviation         median\nElixir.Fibonacci.Inverse        8.47 M       0.118 μs    ±33.53%       0.120 μs\nElixir.Fibonacci.Simple         3.54 M        0.28 μs    ±38.06%        0.27 μs\n\nComparison:\nElixir.Fibonacci.Inverse        8.47 M\nElixir.Fibonacci.Simple         3.54 M - 2.39x slower\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnegrisolo%2Fstudy_elixir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvnegrisolo%2Fstudy_elixir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnegrisolo%2Fstudy_elixir/lists"}