JuliaStats / MixedModels.jl

A Julia package for fitting (statistical) mixed-effects models
http://juliastats.org/MixedModels.jl/stable
MIT License
405 stars 48 forks source link

Switch to explicit imports of names from packages #748

Closed dmbates closed 7 months ago

dmbates commented 7 months ago

With the availability of ExplicitImports.jl it is feasible to list all the symbols used from a package in the dependencies instead of importing all the exported symbols.

These changes are based on the output of ExplicitImports.print_explicit_imports(MixedModels).

Did behavior change? No, the behavior didn't (or shouldn't have) change

Should we release your changes right away? If so, bump the version:

codecov[bot] commented 7 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.33%. Comparing base (529c710) to head (d4ff897).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #748 +/- ## ======================================= Coverage 96.33% 96.33% ======================================= Files 34 34 Lines 3353 3353 ======================================= Hits 3230 3230 Misses 123 123 ``` | [Flag](https://app.codecov.io/gh/JuliaStats/MixedModels.jl/pull/748/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaStats) | Coverage Δ | | |---|---|---| | [current](https://app.codecov.io/gh/JuliaStats/MixedModels.jl/pull/748/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaStats) | `96.27% <ø> (-0.06%)` | :arrow_down: | | [minimum](https://app.codecov.io/gh/JuliaStats/MixedModels.jl/pull/748/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaStats) | `96.23% <ø> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaStats#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 7 months ago

Benchmark Report for /home/runner/work/MixedModels.jl/MixedModels.jl

Job Properties

Results

A ratio greater than 1.0 denotes a possible regression (marked with :x:), while a ratio less than 1.0 denotes a possible improvement (marked with :white_check_mark:). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds).

ID time ratio memory ratio
["crossed", "mrk17_exp1:1"] 0.08 (5%) :white_check_mark: 1.00 (1%)
["crossedvector", "d3:1"] 0.94 (5%) :white_check_mark: 1.00 (1%)
["crossedvector", "kb07:3"] 0.45 (5%) :white_check_mark: 1.00 (1%)
["nested", "pastes:2"] 0.94 (5%) :white_check_mark: 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

Julia versioninfo

Target

Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.4 LTS
  uname: Linux 6.5.0-1015-azure #15~22.04.1-Ubuntu SMP Tue Feb 13 01:15:12 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        963 s          0 s        262 s       3026 s          0 s
       #2  2597 MHz       1083 s          0 s        404 s       2768 s          0 s
       #3  3242 MHz       1266 s          0 s        255 s       2725 s          0 s
       #4  2995 MHz       1667 s          0 s        291 s       2283 s          0 s
  Memory: 15.606491088867188 GB (13811.50390625 MB free)
  Uptime: 428.47 sec
  Load Avg:  1.73  1.19  0.56
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.4 LTS
  uname: Linux 6.5.0-1015-azure #15~22.04.1-Ubuntu SMP Tue Feb 13 01:15:12 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz       1289 s          0 s        377 s       4642 s          0 s
       #2  3255 MHz       1635 s          0 s        597 s       4082 s          0 s
       #3  2445 MHz       1766 s          0 s        331 s       4208 s          0 s
       #4  3194 MHz       2767 s          0 s        426 s       3109 s          0 s
  Memory: 15.606491088867188 GB (13887.4921875 MB free)
  Uptime: 634.87 sec
  Load Avg:  1.6  1.34  0.75
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
dmbates commented 7 months ago

It appears that the test failure on nightly is the old problem of not finding the datasets to download. I'm not sure why the other Julia releases can do this but the nightly release fails to do so.

ericphanson commented 7 months ago

btw do file an issue if you run into any issues! Also if you wish, you can add ExplicitExports as a test dep and use the check_* functions to ensure no implicit exports or stale explicit exports.

ericphanson commented 7 months ago

BTW I put a PR to improve the printing, so next time you wouldn't have to manually regroup as much: https://github.com/ericphanson/ExplicitImports.jl/pull/27

dmbates commented 7 months ago

Thank you, @ericphanson , for implementing this change in the printing. That's very helpful.