Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up test times 🚀 #1158

Open
wd60622 opened this issue Nov 3, 2024 · 3 comments
Open

Speed up test times 🚀 #1158

wd60622 opened this issue Nov 3, 2024 · 3 comments
Labels

Comments

@wd60622
Copy link
Contributor

wd60622 commented Nov 3, 2024

If you are motivated to help speed up some tests, we would appreciate it!

Here are some of the slowest test times:

(13 minutes 5 seconds) test_slow (tests/clv/models/test_beta_geo_beta_binom.py)
============================= slowest 50 durations =============================
675.86s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_model_convergence[mcmc-0.3]
20.11s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_model_convergence[map-0.2]
0.05s setup    tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_model_convergence[mcmc-0.3]

0.005s hidden.  Use -vv to show these durations.)
================== 2 passed, 16 skipped in 697.94s (0:11:37) ===================
(10 minutes 29 seconds) test (3.10, false, tests/mmm --ignore tests/mmm/test_tvp.py --ignore tests/mmm/test_budget_optimi...
============================= slowest 50 durations =============================
21.50s call     tests/mmm/test_mmm.py::TestMMM::test_allocate_budget_to_maximize_response
20.35s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
11.47s call     tests/mmm/test_lift_test.py::test_works_with_negative_delta
11.24s call     tests/mmm/test_base.py::test_calling_fit_result_before_fit_raises_error
10.27s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-delayed]
10.24s call     tests/mmm/components/test_adstock.py::test_apply[x1-channel-delayed]
8.64s call     tests/mmm/test_linear_trend.py::test_apply[with_intercept]
8.60s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-weibull_pdf]
7.62s call     tests/mmm/test_mmm.py::TestMMM::test_channel_contributions_forward_pass_is_consistent
7.02s call     tests/mmm/test_media_transformation.py::test_apply_media_transformation[scalar-vector]
6.72s call     tests/mmm/test_utility.py::test_mean_tightness_score
6.18s call     tests/mmm/test_linear_trend.py::test_apply_additional_dims[scalar]
5.77s call     tests/mmm/test_utility.py::test_conditional_value_at_risk
5.70s call     tests/mmm/test_media_transformation.py::test_apply_media_transformation[scalar-scalar]
4.49s call     tests/mmm/test_mmm.py::test_save_load_with_tvp[True-True]
4.27s call     tests/mmm/test_media_transformation.py::test_apply_media_transformation[vector-scalar]
3.72s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
3.61s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-weibull_cdf]
3.52s call     tests/mmm/test_mmm.py::test_save_load_with_tvp[True-False]
3.47s call     tests/mmm/test_utility.py::test_sharpe_ratio
3.46s setup    tests/mmm/test_mmm.py::test_save_load_with_media_transformation
3.45s call     tests/mmm/test_fourier.py::test_sample_curve
3.44s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-geometric]
3.31s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-no_time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
3.25s call     tests/mmm/components/test_base.py::test_transform_sample_curve_with_variable_factory
3.18s call     tests/mmm/test_mmm.py::test_save_load_with_tvp[False-True]
2.98s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.92s call     tests/mmm/test_utility.py::test_covariance_matrix_matches_numpy[data0]
2.79s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=4]
2.79s setup    tests/mmm/test_mmm.py::test_plotting_media_transform_workflow[adstock]
2.73s call     tests/mmm/test_mmm.py::test_channel_contributions_forward_pass_time_varying_media
2.71s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-no_time_varying_intercept-yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
2.66s call     tests/mmm/test_mmm.py::TestMMM::test_save_load_with_not_serializable_model_config
2.59s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.49s call     tests/mmm/test_mmm.py::test_plotting_media_transform_workflow[adstock]
2.46s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-multiple_channel-two_controls-adstock_max_lag=1]
2.33s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.26s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-two_controls-adstock_max_lag=4]
2.24s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-no_time_varying_intercept-no_yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.23s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.22s call     tests/mmm/test_fourier.py::test_additional_dimension
2.20s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-multiple_channel-no_control-adstock_max_lag=4]
2.19s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-multiple_channel-two_controls-adstock_max_lag=1]
2.16s call     tests/mmm/test_fourier.py::test_plot_curve
2.14s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-multiple_channel-one_control-adstock_max_lag=4]
2.14s call     tests/mmm/test_fourier.py::test_fourier_modes_shape[periods2-1-expected_shape2]
2.13s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
2.08s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-no_time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.08s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-multiple_channel-no_control-adstock_max_lag=4]
2.08s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-two_controls-adstock_max_lag=1]
================ 986 passed, 160 warnings in 532.20s (0:08:52) =================
(8 minutes 53 seconds) test_slow (tests/clv/models/test_pareto_nbd.py)
============================= slowest 50 durations =============================
414.28s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_model_convergence[mcmc-0.1]
24.70s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_model_convergence[map-0.2]
7.75s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_model_convergence[demz-0.2]
0.04s setup    tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_model_convergence[mcmc-0.1]

0.005s hidden.  Use -vv to show these durations.)
=========== 3 passed, 22 skipped, 4000 warnings in 448.95s (0:07:28) ===========
(6 minutes 45 seconds) test (3.10, false, tests/mmm/test_tvp.py tests/mmm/test_budget_optimizer.py tests/mmm/test_hsgp.p...
============================= slowest 50 durations =============================
56.27s call     tests/mmm/test_tvp.py::test_time_varying_prior
30.30s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget[default_minimizer_kwargs]
23.42s call     tests/mmm/test_tvp.py::test_multidimensional
15.92s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_adstock_vectorized[PDF]
14.21s call     tests/mmm/test_hsgp.py::test_curve_workflow[HSGP]
12.16s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_custom_response_constraint[budget=10->resp=5]
8.45s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_adstock_vectorized[CDF]
8.33s call     tests/mmm/test_hsgp.py::test_curve_workflow[HSGPPeriodic]
7.50s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x0-1-1-4]
7.43s call     tests/mmm/test_hsgp.py::test_higher_dimension_hsgp
6.79s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_vectorized[After]
5.80s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x2-0.7-1-100]
4.76s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_geometric_adstock_vectorized_logistic_saturation
3.89s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_vectorized[After]
3.60s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x2-0.7-1-100]
3.53s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x6-0.8-1-50]
3.53s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_parameterization_transformation[x0-20-0.5]
3.29s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x0-1-1-4]
3.09s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x1-0.3-0.5-10]
3.05s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x1-0.7-100]
2.94s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_infeasible_constraints[100-budget_bounds0-parameters0-custom_constraints0]
2.84s call     tests/mmm/test_transformers.py::test_batched_convolution_broadcasting
2.67s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_x_zero[After]
2.49s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_parameterization_transformation[x1-100-0.5]
2.28s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_custom_response_constraint[budget=50->resp=10]
2.11s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_vectorized[Before]
2.00s call     tests/mmm/test_tvp.py::test_calling_without_default_args
2.00s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x5-0.8-50]
1.99s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_bad_alpha[less_than_zero_1]
1.98s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x1-0.3-0.5-10]
1.92s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_vectorized[Overlap]
1.90s call     tests/mmm/test_transformers.py::test_batched_convolution[ndarray-0-After]
1.89s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x3-0.5-7]
1.85s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_delayed_adstock_vectorized_logistic_saturation
1.76s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_baselined_range[x0-10-0.5-0.5]
1.73s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_hill_sigmoid_monotonicity[1-1-0]
1.59s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget[zero_total_budget]
1.54s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x0-0.5-1.0]
1.53s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x0-0.3-10]
1.52s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x1-0.2-19.0]
1.49s call     tests/mmm/test_transformers.py::test_batched_convolution[TensorVariable--1-After]
1.46s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x2-0.6-5.0]
1.40s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget[custom_minimizer_kwargs]
1.39s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_custom_minimize_args
1.39s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x6-0.8-1-50]
1.38s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_vectorized[Before]
1.34s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_vectorized[Overlap]
1.33s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_output_type[After]
1.28s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x3-0.2-0.2-5]
1.21s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x3-0.99-10.0]
================= 209 passed, 11 warnings in 312.25s (0:05:12) =================
(8 minutes 52 seconds) test (3.10, false, tests/clv)
============================= slowest 50 durations =============================
39.71s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_covariate_model_convergence
30.37s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_purchases[1]
22.81s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_expected_purchases[1]
21.95s call     tests/clv/test_utils.py::TestCustomerLifetimeValue::test_customer_lifetime_value_as_gg_method[fitted_pnbd]
20.27s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_distribution_customer_churn_time
20.19s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_posterior_distributions[map]
17.41s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_posterior_distributions[map]
15.40s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value3-0.3-p3-10-logp3]
13.10s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_logp
13.05s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModel::test_spend[True]
12.97s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_logp_matches_lifetimes[batch_shape1]
10.19s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_expectation_method
9.76s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_save_load
9.42s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_distribution_new_customer
9.12s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_distribution_method
8.43s call     tests/clv/models/test_basic.py::TestCLVModel::test_fit_demz
7.51s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value4-0.55-10.58-0.61-beta4-12]
7.19s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_logp_matches_lifetimes[batch_shape0]
7.14s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_logp_matches_excel
6.75s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value0-0.4-0.15-10--8.39147106159807]
6.41s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_numerically_stable_logp[0-0--0.59947382]
6.08s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value1-lam1-0.15-10-logp1]
5.70s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_invalid_value_logp
5.33s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_probability_alive[3]
5.31s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_probability_alive[6]
5.07s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_probability_alive[1]
4.40s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_purchases[6]
4.37s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_purchases[3]
3.90s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value1-r1-10.58-0.61-11.67-12]
2.62s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value2-lam2-0.15-10-logp2]
2.58s call     tests/clv/test_distributions.py::TestContContract::test_continuous_contractual[value3-0.3-p3-10-logp3]
2.33s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModel::test_spend[False]
2.23s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_posterior_distributions[mcmc]
2.10s call     tests/clv/test_distributions.py::TestBetaGeoNBD::test_bg_nbd[value3-0.55-11.67-0.61-10.58-T3]
2.01s call     tests/clv/test_distributions.py::TestBetaGeoNBD::test_bg_nbd[value0-0.55-10.58-0.61-11.67-12]
1.96s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value0-0.55-10.58-0.61-11.67-12]
1.87s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_posterior_distributions[mcmc]
1.86s setup    tests/clv/test_plotting.py::test_plot_expected_purchases_ppc_exceptions
1.83s call     tests/clv/test_plotting.py::test_plot_expected_purchases_ppc[prior-10-100-None]
1.81s call     tests/clv/models/test_basic.py::TestCLVModel::test_fit_mcmc
1.80s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_extract_predictive_covariates
1.57s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value2-r2-10.58-s2-11.67-12]
1.53s call     tests/clv/test_distributions.py::TestModifiedBetaGeoNBD::test_invalid_value_logp
1.51s call     tests/clv/models/test_modified_beta_geo.py::TestModifiedBetaGeoModel::test_numerically_stable_logp[0-0--0.41792826]
1.45s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_fit_result_without_fit
1.44s call     tests/clv/test_distributions.py::TestBetaGeoNBD::test_bg_nbd[value2-r2-10.58-a2-11.67-12]
1.40s call     tests/clv/test_distributions.py::TestContContract::test_continuous_contractual[value1-lam1-0.15-10-logp1]
1.38s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_beta_geo_beta_binom_sample_prior[None-None-gamma_size3-delta_size3-beta_geo_beta_binom_size3-expected_size3]
1.34s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModelIndividual::test_save_load
1.31s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual_invalid
=========== 269 passed, 12 skipped, 54 warnings in 427.19s (0:07:07) ===========
(4 minutes 42 seconds) test_slow (--ignore tests/clv/models/test_beta_geo_beta_binom.py --ignore tests/clv/models/test_p...
============================= slowest 50 durations =============================
45.19s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_model_convergence[mcmc-0.1]
33.67s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_model_convergence
31.70s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModelIndividual::test_model_convergence
25.17s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModel::test_model_convergence
24.99s call     tests/clv/models/test_modified_beta_geo.py::TestModifiedBetaGeoModel::test_model_convergence[mcmc-0.075]
15.99s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_model_convergence[map-0.2]
9.15s call     tests/clv/models/test_modified_beta_geo.py::TestModifiedBetaGeoModel::test_model_convergence[map-0.15]
0.64s setup    tests/clv/models/test_gamma_gamma.py::TestGammaGammaModel::test_model_convergence
0.06s setup    tests/clv/models/test_gamma_gamma.py::TestGammaGammaModelIndividual::test_model_convergence
0.04s setup    tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_model_convergence[mcmc-0.1]
0.03s setup    tests/clv/models/test_modified_beta_geo.py::TestModifiedBetaGeoModel::test_model_convergence[mcmc-0.075]

0.005s hidden.  Use -vv to show these durations.)
=========== 7 passed, 1649 skipped, 24 warnings in 196.22s (0:03:16) ===========
(5 minutes 25 seconds) test (3.10, false, --ignore tests/mmm --ignore tests/clv)
============================= slowest 50 durations =============================
69.80s call     tests/test_mlflow.py::test_autolog_mmm
26.80s call     tests/test_mlflow.py::test_clv_fit_mcmc[BetaGeoModel]
18.56s call     tests/test_mlflow.py::test_clv_fit_map[BetaGeoModel]
13.24s call     tests/test_mlflow.py::test_file_system_uri_supported
12.55s call     tests/test_mlflow.py::test_autolog_pymc_model[nutpie]
8.75s call     tests/test_prior.py::test_censored_logp[scalar]
7.24s setup    tests/customer_choice/test_mv_its.py::test_MVITS_saturated[plot_fit]
7.08s setup    tests/test_model_builder.py::test_save_input_params
5.68s setup    tests/test_prior.py::test_censored_normal_logp[-10]
5.58s call     tests/test_model_builder.py::test_second_fit
4.29s call     tests/test_mlflow.py::test_autolog_pymc_model[numpyro]
4.20s call     tests/test_model_builder.py::test_fit_random_seed_reproducibility[int]
3.75s call     tests/test_model_builder.py::test_fit_random_seed_reproducibility[rng]
3.70s call     tests/test_model_builder.py::test_fit_sampler_config_seed_reproducibility
3.56s call     tests/test_mlflow.py::test_autolog_pymc_model[blackjax]
3.10s call     tests/test_mlflow.py::test_log_with_data_in_likelihood
3.08s call     tests/test_model_builder.py::test_empty_sampler_config_fit
2.56s call     tests/test_model_builder.py::test_fit_after_prior_keeps_prior
2.24s call     tests/test_mlflow.py::test_log_data_no_data
2.10s call     tests/test_model_builder.py::test_fit_no_t
1.84s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_fit-unsaturated_model_bad]
1.34s call     tests/test_mlflow.py::test_logging_callback
1.08s call     tests/test_mlflow.py::test_autolog_pymc_model[pymc]
1.04s call     tests/test_prior.py::test_censored_logp[vector]
1.02s call     tests/test_model_builder.py::test_save_load
0.82s call     tests/test_plot.py::test_plot_functions[no_legend-different_axes-plot_samples]
0.64s call     tests/test_prior.py::test_censored_sample_prior
0.55s call     tests/test_prior.py::test_custom_transform
0.53s call     tests/customer_choice/test_mv_its.py::test_save_load
0.42s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_fit-unsaturated_model_good]
0.35s call     tests/test_plot.py::test_plot_curve
0.35s call     tests/test_plot.py::test_plot_curve_custom_colors
0.35s call     tests/test_plot.py::test_plot_curve_custom_sel_to_string
0.32s call     tests/test_plot.py::test_plot_functions[legend-different_axes-plot_samples]
0.18s call     tests/test_plot.py::test_plot_curve_supply_axes_same_axes
0.17s call     tests/test_plot.py::test_plot_functions[legend-same_axes-plot_samples]
0.16s call     tests/test_model_builder.py::test_sample_xxx_predictive_keeps_second[prior_predictive]
0.16s call     tests/test_plot.py::test_plot_functions[no_legend-same_axes-plot_samples]
0.12s call     tests/test_model_builder.py::test_fit
0.12s call     tests/customer_choice/test_mv_its.py::test_MVITS_saturated[plot_fit]
0.11s call     tests/test_model_builder.py::test_sample_xxx_predictive_keeps_second[posterior_predictive]
0.10s call     tests/test_prior.py::test_create_variable
0.10s call     tests/test_model_builder.py::test_insufficient_attrs
0.09s call     tests/test_model_builder.py::test_incorrect_set_idata_attrs_override
0.09s call     tests/test_mlflow.py::test_log_mmm_evaluation_metrics
0.09s call     tests/test_model_builder.py::test_set_fit_result
0.09s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_counterfactual-unsaturated_model_bad]
0.09s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_counterfactual-unsaturated_model_good]
0.09s call     tests/test_prior.py::test_create_variable_multiple_times
0.09s call     tests/test_model_builder.py::test_fit_sampler_config_with_rng_fails
================= 223 passed, 35 warnings in 225.98s (0:03:45) =================
(11 minutes 55 seconds) test (3.12, true, tests/mmm --ignore tests/mmm/test_tvp.py --ignore tests/mmm/test_budget_optimiz...
============================= slowest 50 durations =============================
23.00s call     tests/mmm/test_mmm.py::TestMMM::test_allocate_budget_to_maximize_response
17.78s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
12.68s call     tests/mmm/test_lift_test.py::test_works_with_negative_delta
12.39s call     tests/mmm/test_base.py::test_calling_fit_result_before_fit_raises_error
10.91s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-delayed]
10.88s call     tests/mmm/components/test_adstock.py::test_apply[x1-channel-delayed]
9.28s call     tests/mmm/test_linear_trend.py::test_apply[with_intercept]
9.21s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-weibull_pdf]
8.59s call     tests/mmm/test_mmm.py::TestMMM::test_channel_contributions_forward_pass_is_consistent
7.77s call     tests/mmm/test_media_transformation.py::test_apply_media_transformation[scalar-vector]
7.11s call     tests/mmm/test_utility.py::test_mean_tightness_score
6.56s call     tests/mmm/test_linear_trend.py::test_apply_additional_dims[scalar]
6.14s call     tests/mmm/test_utility.py::test_conditional_value_at_risk
6.11s call     tests/mmm/test_media_transformation.py::test_apply_media_transformation[scalar-scalar]
4.56s call     tests/mmm/test_mmm.py::test_save_load_with_tvp[True-True]
4.32s call     tests/mmm/test_media_transformation.py::test_apply_media_transformation[vector-scalar]
4.11s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
3.86s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-weibull_cdf]
3.71s call     tests/mmm/test_utility.py::test_sharpe_ratio
3.70s call     tests/mmm/test_mmm.py::test_save_load_with_tvp[False-True]
3.69s setup    tests/mmm/test_mmm.py::test_save_load_with_media_transformation
3.67s call     tests/mmm/components/test_adstock.py::test_apply[x0-None-geometric]
3.64s call     tests/mmm/test_fourier.py::test_sample_curve
3.61s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
3.57s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-no_time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
3.50s call     tests/mmm/test_mmm.py::test_save_load_with_tvp[True-False]
3.47s call     tests/mmm/components/test_base.py::test_transform_sample_curve_with_variable_factory
3.37s call     tests/mmm/test_mmm.py::test_channel_contributions_forward_pass_time_varying_media
3.28s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
3.11s call     tests/mmm/test_utility.py::test_covariance_matrix_matches_numpy[data0]
3.11s call     tests/mmm/test_mmm.py::TestMMM::test_save_load_with_not_serializable_model_config
3.03s setup    tests/mmm/test_mmm.py::test_plotting_media_transform_workflow[adstock]
2.92s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-no_time_varying_intercept-yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
2.75s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=4]
2.71s call     tests/mmm/test_mmm.py::test_plotting_media_transform_workflow[adstock]
2.52s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-multiple_channel-two_controls-adstock_max_lag=4]
2.51s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-two_controls-adstock_max_lag=4]
2.46s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.40s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-multiple_channel-one_control-adstock_max_lag=1]
2.38s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-no_control-adstock_max_lag=1]
2.35s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-one_control-adstock_max_lag=4]
2.34s call     tests/mmm/test_fourier.py::test_additional_dimension
2.33s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-multiple_channel-one_control-adstock_max_lag=4]
2.32s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.31s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-no_time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=1]
2.25s call     tests/mmm/test_fourier.py::test_fourier_modes_shape[periods2-1-expected_shape2]
2.23s call     tests/mmm/test_mmm.py::TestMMM::test_init[no_time_varying_media-time_varying_intercept-no_yearly_seasonality-single_channel-no_control-adstock_max_lag=4]
2.23s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-multiple_channel-one_control-adstock_max_lag=4]
2.23s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-yearly_seasonality-single_channel-one_control-adstock_max_lag=4]
2.19s call     tests/mmm/test_mmm.py::TestMMM::test_init[time_varying_media-time_varying_intercept-no_yearly_seasonality-multiple_channel-no_control-adstock_max_lag=1]
================ 986 passed, 164 warnings in 587.91s (0:09:47) =================
(8 minutes 21 seconds) test (3.12, true, tests/mmm/test_tvp.py tests/mmm/test_budget_optimizer.py tests/mmm/test_hsgp.py...
============================= slowest 50 durations =============================
61.54s call     tests/mmm/test_tvp.py::test_time_varying_prior
32.43s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget[default_minimizer_kwargs]
25.40s call     tests/mmm/test_tvp.py::test_multidimensional
17.10s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_adstock_vectorized[PDF]
15.24s call     tests/mmm/test_hsgp.py::test_curve_workflow[HSGP]
12.89s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_custom_response_constraint[budget=10->resp=5]
9.04s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_adstock_vectorized[CDF]
8.91s call     tests/mmm/test_hsgp.py::test_curve_workflow[HSGPPeriodic]
8.13s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x0-1-1-4]
7.93s call     tests/mmm/test_hsgp.py::test_higher_dimension_hsgp
7.34s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_vectorized[After]
6.36s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x2-0.7-1-100]
5.25s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_geometric_adstock_vectorized_logistic_saturation
4.36s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x2-0.7-1-100]
4.09s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_vectorized[After]
3.96s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x6-0.8-1-50]
3.85s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x0-1-1-4]
3.84s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_parameterization_transformation[x0-20-0.5]
3.58s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x1-0.7-100]
3.49s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_infeasible_constraints[100-budget_bounds0-parameters0-custom_constraints0]
3.10s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x1-0.3-0.5-10]
3.07s call     tests/mmm/test_transformers.py::test_batched_convolution_broadcasting
2.88s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_x_zero[After]
2.73s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_parameterization_transformation[x1-100-0.5]
2.62s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_custom_response_constraint[budget=50->resp=10]
2.41s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_vectorized[Before]
2.21s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_vectorized[Overlap]
2.17s call     tests/mmm/test_tvp.py::test_calling_without_default_args
2.14s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x5-0.8-50]
2.13s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_bad_alpha[less_than_zero_1]
2.07s call     tests/mmm/test_transformers.py::test_batched_convolution[ndarray-0-After]
2.06s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x3-0.5-7]
1.97s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_cdf_adsotck[x1-0.3-0.5-10]
1.93s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_baselined_range[x0-10-0.5-0.5]
1.90s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_hill_sigmoid_monotonicity[1-1-0]
1.89s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_delayed_adstock_vectorized_logistic_saturation
1.82s call     tests/mmm/test_transformers.py::test_batched_convolution[TensorVariable--1-After]
1.82s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_vectorized[Before]
1.69s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x0-0.5-1.0]
1.66s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x1-0.2-19.0]
1.65s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_geometric_adstock_good_alpha[x0-0.3-10]
1.64s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget[zero_total_budget]
1.63s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget[custom_minimizer_kwargs]
1.63s call     tests/mmm/test_budget_optimizer.py::test_allocate_budget_custom_minimize_args
1.63s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_weibull_pdf_adstock[x6-0.8-1-50]
1.59s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x2-0.6-5.0]
1.59s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_vectorized[Overlap]
1.44s call     tests/mmm/test_transformers.py::TestsAdstockTransformers::test_delayed_adstock_output_type[After]
1.36s call     tests/mmm/test_transformers.py::TestTransformersComposition::test_logistic_saturation_geometric_adstock_composition[x4-0.001-0.01]
1.31s call     tests/mmm/test_transformers.py::TestSaturationTransformers::test_tanh_saturation_baselined_range[x2-10-0.001-0.01]
================= 209 passed, 11 warnings in 340.24s (0:05:40) =================
(10 minutes 10 seconds) test (3.12, true, tests/clv)
============================= slowest 50 durations =============================
41.36s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_covariate_model_convergence
37.70s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_purchases[1]
23.41s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_expected_purchases[1]
22.26s call     tests/clv/test_utils.py::TestCustomerLifetimeValue::test_customer_lifetime_value_as_gg_method[fitted_pnbd]
21.80s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_posterior_distributions[map]
21.57s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_distribution_customer_churn_time
19.48s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_posterior_distributions[map]
15.81s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value3-0.3-p3-10-logp3]
13.82s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModel::test_spend[True]
13.67s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_logp
13.63s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_logp_matches_lifetimes[batch_shape1]
11.85s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_probability_alive[1]
11.82s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_probability_alive[6]
11.63s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_probability_alive[3]
10.96s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_expectation_method
10.66s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_purchases[6]
10.49s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_expected_purchases[3]
10.25s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_save_load
9.96s call     tests/clv/models/test_shifted_beta_geo.py::TestShiftedBetaGeoModel::test_distribution_new_customer
9.81s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_distribution_method
8.81s call     tests/clv/models/test_basic.py::TestCLVModel::test_fit_demz
7.76s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_logp_matches_lifetimes[batch_shape0]
7.73s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value4-0.55-10.58-0.61-beta4-12]
7.35s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_logp_matches_excel
7.08s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value0-0.4-0.15-10--8.39147106159807]
6.72s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_numerically_stable_logp[0-0--0.59947382]
6.35s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value1-lam1-0.15-10-logp1]
6.07s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_invalid_value_logp
4.13s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value1-r1-10.58-0.61-11.67-12]
2.79s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModel::test_spend[False]
2.74s call     tests/clv/test_distributions.py::TestContNonContract::test_continuous_non_contractual[value2-lam2-0.15-10-logp2]
2.71s call     tests/clv/test_distributions.py::TestContContract::test_continuous_contractual[value3-0.3-p3-10-logp3]
2.36s call     tests/clv/test_distributions.py::TestBetaGeoNBD::test_bg_nbd[value0-0.55-10.58-0.61-11.67-12]
2.23s call     tests/clv/test_distributions.py::TestBetaGeoNBD::test_bg_nbd[value3-0.55-11.67-0.61-10.58-T3]
2.22s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_posterior_distributions[mcmc]
2.12s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModel::test_posterior_distributions[mcmc]
2.09s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value0-0.55-10.58-0.61-11.67-12]
2.07s setup    tests/clv/test_plotting.py::test_plot_expected_purchases_ppc_exceptions
2.05s call     tests/clv/test_plotting.py::test_plot_expected_purchases_ppc[prior-10-100-None]
1.95s call     tests/clv/models/test_basic.py::TestCLVModel::test_fit_mcmc
1.90s call     tests/clv/models/test_pareto_nbd.py::TestParetoNBDModelWithCovariates::test_extract_predictive_covariates
1.66s call     tests/clv/test_distributions.py::TestParetoNBD::test_pareto_nbd[value2-r2-10.58-s2-11.67-12]
1.60s call     tests/clv/models/test_modified_beta_geo.py::TestModifiedBetaGeoModel::test_numerically_stable_logp[0-0--0.41792826]
1.60s call     tests/clv/test_distributions.py::TestModifiedBetaGeoNBD::test_invalid_value_logp
1.52s call     tests/clv/test_distributions.py::TestBetaGeoNBD::test_bg_nbd[value2-r2-10.58-a2-11.67-12]
1.48s call     tests/clv/test_distributions.py::TestBetaGeoBetaBinom::test_beta_geo_beta_binom_sample_prior[None-None-gamma_size3-delta_size3-beta_geo_beta_binom_size3-expected_size3]
1.47s call     tests/clv/test_distributions.py::TestContContract::test_continuous_contractual[value1-lam1-0.15-10-logp1]
1.45s call     tests/clv/test_utils.py::TestCustomerLifetimeValue::test_clv_after_thinning[fitted_pnbd]
1.44s call     tests/clv/models/test_gamma_gamma.py::TestGammaGammaModelIndividual::test_save_load
1.41s call     tests/clv/models/test_beta_geo.py::TestBetaGeoModel::test_fit_result_without_fit
=========== 269 passed, 12 skipped, 54 warnings in 486.88s (0:08:06) ===========
(6 minutes 17 seconds) test (3.12, true, --ignore tests/mmm --ignore tests/clv)
============================= slowest 50 durations =============================
76.78s call     tests/test_mlflow.py::test_autolog_mmm
30.08s call     tests/test_mlflow.py::test_clv_fit_mcmc[BetaGeoModel]
22.15s call     tests/test_mlflow.py::test_clv_fit_map[BetaGeoModel]
14.52s call     tests/test_mlflow.py::test_file_system_uri_supported
14.18s call     tests/test_mlflow.py::test_autolog_pymc_model[nutpie]
9.55s call     tests/test_prior.py::test_censored_logp[scalar]
8.40s setup    tests/test_model_builder.py::test_save_input_params
7.59s setup    tests/customer_choice/test_mv_its.py::test_MVITS_saturated[plot_fit]
6.90s call     tests/test_model_builder.py::test_second_fit
6.23s setup    tests/test_prior.py::test_censored_normal_logp[-10]
5.03s call     tests/test_mlflow.py::test_autolog_pymc_model[numpyro]
4.25s call     tests/test_model_builder.py::test_fit_random_seed_reproducibility[rng]
4.24s call     tests/test_model_builder.py::test_fit_sampler_config_seed_reproducibility
4.22s call     tests/test_model_builder.py::test_fit_random_seed_reproducibility[int]
3.67s call     tests/test_mlflow.py::test_autolog_pymc_model[blackjax]
3.63s call     tests/test_mlflow.py::test_log_with_data_in_likelihood
2.86s call     tests/test_model_builder.py::test_fit_after_prior_keeps_prior
2.49s call     tests/test_model_builder.py::test_empty_sampler_config_fit
2.48s call     tests/test_mlflow.py::test_log_data_no_data
2.33s call     tests/test_model_builder.py::test_fit_no_t
2.27s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_fit-unsaturated_model_bad]
1.52s call     tests/test_mlflow.py::test_logging_callback
1.23s call     tests/test_mlflow.py::test_autolog_pymc_model[pymc]
1.17s call     tests/test_prior.py::test_censored_logp[vector]
1.15s call     tests/test_model_builder.py::test_save_load
0.89s call     tests/test_plot.py::test_plot_curve
0.68s call     tests/test_prior.py::test_censored_sample_prior
0.62s call     tests/customer_choice/test_mv_its.py::test_save_load
0.60s call     tests/test_prior.py::test_custom_transform
0.47s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_fit-unsaturated_model_good]
0.39s call     tests/test_plot.py::test_plot_curve_custom_colors
0.39s call     tests/test_plot.py::test_plot_curve_custom_sel_to_string
0.35s call     tests/test_plot.py::test_plot_functions[no_legend-different_axes-plot_samples]
0.35s call     tests/test_plot.py::test_plot_functions[legend-different_axes-plot_samples]
0.21s call     tests/test_plot.py::test_plot_curve_supply_axes_same_axes
0.19s call     tests/test_model_builder.py::test_sample_xxx_predictive_keeps_second[prior_predictive]
0.19s call     tests/test_plot.py::test_plot_functions[legend-same_axes-plot_samples]
0.17s call     tests/test_plot.py::test_plot_functions[no_legend-same_axes-plot_samples]
0.15s call     tests/test_model_builder.py::test_fit
0.14s call     tests/test_model_builder.py::test_sample_xxx_predictive_keeps_second[posterior_predictive]
0.13s call     tests/customer_choice/test_mv_its.py::test_MVITS_saturated[plot_fit]
0.12s call     tests/test_prior.py::test_create_variable
0.11s call     tests/test_model_builder.py::test_insufficient_attrs
0.11s call     tests/test_model_builder.py::test_incorrect_set_idata_attrs_override
0.10s call     tests/test_model_builder.py::test_set_fit_result
0.10s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_counterfactual-unsaturated_model_bad]
0.10s call     tests/test_prior.py::test_create_variable_multiple_times
0.10s call     tests/customer_choice/test_mv_its.py::test_MVITS_unsaturated[plot_counterfactual-unsaturated_model_good]
0.10s call     tests/test_model_builder.py::test_fit_sampler_config_with_rng_fails
0.10s call     tests/test_mlflow.py::test_log_mmm_evaluation_metrics
================= 223 passed, 38 warnings in 252.37s (0:04:12) =================

You can find more information on how to contribute here.

Automatically generated by GitHub Action
Latest run date: 2025-01-26

@wd60622 wd60622 changed the title Address slowest tests Slowest test times (Last Updated: 2024-11-03) Nov 4, 2024
@wd60622 wd60622 changed the title Slowest test times (Last Updated: 2024-11-03) Slowest test times Nov 4, 2024
@wd60622 wd60622 pinned this issue Nov 4, 2024
@wd60622 wd60622 changed the title Slowest test times Speed up test times 🚀 Nov 4, 2024
@wd60622 wd60622 added the help wanted Extra attention is needed label Nov 5, 2024
@ColtAllen
Copy link
Collaborator

Related to #1227

@ricardoV94
Copy link
Contributor

@wd60622 can we have this automated issue on pymc/pytensor 🤤 ?

@wd60622
Copy link
Contributor Author

wd60622 commented Dec 13, 2024

@wd60622 can we have this automated issue on pymc/pytensor 🤤 ?

Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants