Skip to content

Conversation

trescenzi
Copy link

This also upgrades to stdlib v0.53 as a base which is where gleam_erlang v1 currently is. This required adding gleam_yielder as a dev dep since iterator was removed in v0.50.

Doing this upgrade as part of upgrading Chip

I do notice this error when running the tests. I'm not really sure if it's an issue or not.

/lamb/build/dev/erlang/lamb/_gleam_artefacts/lamb_erlang_ffi.erl:99:33: Warning: ambiguous call of overridden auto-imported BIF error/1 --
use erlang:error/1 or "-compile({no_auto_import,[error/1]})." to resolve name clash
%   99|             {invalid, lists:map(fun error/1, Errors)}

Benchmark output:


Bag Table Benchmark:
Not all of your protocols have been consolidated. In order to achieve the
best possible accuracy for benchmarks, please ensure protocol
consolidation is enabled in your benchmarking environment.

Benchmarking lamb.any ...
Benchmarking lamb.any GroupD ...
Warning: The function you are trying to benchmark is super fast, making measurements more unreliable!
This holds especially true for memory measurements or when running with hooks.

See: https://github.com/bencheeorg/benchee/wiki/Benchee-Warnings#fast-execution-warning

You may disable this warning by passing print: [fast_warning: false] as configuration options.

Benchmarking lamb.count ...
Benchmarking lamb.count GroupD ...
Benchmarking lamb.lookup ...
Benchmarking lamb.lookup GroupD ...
Benchmarking lamb.search ...
Benchmarking lamb.search GroupD ...
Calculating statistics...
Formatting results...

Name                         ips        average  deviation         median         99th %
lamb.lookup GroupD     9474.31 K       0.106 μs ±17006.76%      0.0830 μs       0.125 μs
lamb.count GroupD      2596.82 K        0.39 μs  ±3880.72%        0.33 μs        0.50 μs
lamb.search GroupD     2086.39 K        0.48 μs  ±4058.95%        0.46 μs        0.63 μs
lamb.any                 53.52 K       18.68 μs   ±141.23%      0.0830 μs       59.99 μs
lamb.any GroupD          53.44 K       18.71 μs    ±44.77%       17.11 μs       39.36 μs
lamb.count                3.19 K      313.74 μs    ±24.33%      335.29 μs      412.16 μs
lamb.lookup               1.63 K      613.39 μs    ±74.52%      319.29 μs     1372.25 μs
lamb.search               1.38 K      726.03 μs    ±29.41%      672.17 μs     1089.39 μs

Comparison:
lamb.lookup GroupD     9474.31 K
lamb.count GroupD      2596.82 K - 3.65x slower +0.28 μs
lamb.search GroupD     2086.39 K - 4.54x slower +0.37 μs
lamb.any                 53.52 K - 177.02x slower +18.58 μs
lamb.any GroupD          53.44 K - 177.28x slower +18.61 μs
lamb.count                3.19 K - 2972.45x slower +313.63 μs
lamb.lookup               1.63 K - 5811.43x slower +613.28 μs
lamb.search               1.38 K - 6878.67x slower +725.93 μs

This also upgrades to stdlib v0.53 as a base which is where
gleam_erlang v1 currently is. This required adding gleam_yielder
as a dev dep since iterator was removed in v0.50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant