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

Reasoning about transport is very slow #296

Closed
JasonGross opened this issue Dec 23, 2013 · 19 comments
Closed

Reasoning about transport is very slow #296

JasonGross opened this issue Dec 23, 2013 · 19 comments

Comments

@JasonGross
Copy link
Contributor

I have some proofs that I ported from catdb which slowed down immensely when moving from using heterogeneous equality to using transport and PathGroupoids, namely JasonGross/HoTT@master...finished-but-slow-exponential-laws and JasonGross/HoTT@master...finished-but-slow-adjoint-pointwise. The proofs aren't doing much interesting, but are about an order of magnitude slower than most of the other files in HoTT (the exception being categories/Comma/ProjectionFunctors.v). It would be nice to have a better way of reasoning about paths quickly (perhaps by reflective automation, or an extension, or a well-tuned tactic).

@mattam82
Copy link
Member

I would suppose that using transports on sigma types instead of heterogeneous equality falls into the projection blowup case. I'm still in the process of adapting categories/ to my latest implementation which has native projections, hopefully we can play with it soon!

@JasonGross
Copy link
Contributor Author

If this can be fixed by native projections, I'd be very delighted. I look forward to playing with it! (If I can do anything to help adapt categories/, let me know.)

@spitters
Copy link
Member

Does this use fast projections?

On Sun, Apr 27, 2014 at 8:22 AM, Jason Gross [email protected]:

I've formalized lax comma categories at
https://github.com/JasonGross/HoTT/tree/finished-but-slow-lax-comma-categories.
I'd love to merge them, but they (alone, in addition to everything else)
take 8 minutes on my machine, which is probably 15-30 minutes on travis.
Reflective automation might speed some of it up, but at least a minute or
two is time the unification engine spends churning on exact or Defined or
Qed, and I don't yet understand why.


Reply to this email directly or view it on GitHubhttps://github.com//issues/296#issuecomment-41489419
.

@JasonGross
Copy link
Contributor Author

@spitters, I am not using fast projections, as the latest version does not compile enough of categories to get to this point (lax comma categories) (see, for example, HoTT/coq#108). There are also a number of issues with Set/Prop (see, e.g., HoTT/coq#119), but these can be worked around by not letting anything go into Set or Prop.

It's hard to compare timings when so many files don't compile, but initial results don't look super-promising:

After     | File Name                                                          | Before    || Change
-------------------------------------------------------------------------------------------------------
19m24.32s | Total                                                              | 18m09.42s || +1m14.89s
-------------------------------------------------------------------------------------------------------
5m48.17s  | categories/Comma/Dual                                              | 0m08.83s  || +5m39.34s
2m02.55s  | categories/CategoryOfSections/Core                                 | 0m01.07s  || +2m01.48s
1m28.36s  | categories/Functor/Prod/Universal                                  | 0m07.80s  || +1m20.56s
1m28.68s  | categories/ExponentialLaws/Law4/Functors                           | 0m16.64s  || +1m12.04s
1m01.52s  | categories/Category/Pi                                             | 0m00.18s  || +1m01.34s
0m58.83s  | categories/FunctorCategory/Dual                                    | 0m15.81s  || +0m43.01s
0m39.13s  | categories/Adjoint/UniversalMorphisms                              | 0m02.93s  || +0m36.20s
   N/A    | categories/Adjoint/Composition/AssociativityLaw                    | 0m36.17s  || -0m36.17s
   N/A    | categories/Grothendieck/PseudofunctorToCat                         | 0m28.62s  || -0m28.62s
0m26.93s  | categories/Functor/Prod/Functorial                                 | 0m02.90s  || +0m24.03s
0m32.57s  | categories/UniversalProperties                                     | 0m08.91s  || +0m23.66s
   N/A    | categories/Adjoint/HomCoercions                                    | 0m23.06s  || -0m23.05s
0m29.44s  | categories/Adjoint/Dual                                            | 0m13.52s  || +0m15.92s
   N/A    | categories/PseudonaturalTransformation/Core                        | 0m15.99s  || -0m15.99s
   N/A    | categories/Functor/Pointwise/Properties                            | 0m13.09s  || -0m13.08s
   N/A    | categories/Pseudofunctor/Core                                      | 0m13.07s  || -0m13.07s
0m13.30s  | categories/NaturalTransformation/Prod                              | 0m01.15s  || +0m12.15s
   N/A    | categories/Adjoint/Composition/IdentityLaws                        | 0m12.02s  || -0m12.01s
0m25.20s  | categories/Adjoint/Composition/Core                                | 0m13.51s  || +0m11.68s
0m18.83s  | categories/GroupoidCategory/Morphisms                              | 0m07.75s  || +0m11.07s
   N/A    | categories/Pseudofunctor/FromFunctor                               | 0m11.79s  || -0m11.78s
0m10.95s  | categories/Functor/Prod                                            | 0m00.85s  || +0m10.09s
   N/A    | categories/Yoneda                                                  | 0m09.82s  || -0m09.82s
   N/A    | categories/ExponentialLaws/Law1/Law                                | 0m09.00s  || -0m09.00s
0m06.74s  | categories/Comma/InducedFunctors                                   | 0m16.67s  || -0m09.93s
0m14.20s  | categories/Functor/Paths                                           | 0m06.25s  || +0m07.94s
0m04.83s  | hit/Flattening                                                     | 0m12.19s  || -0m07.35s
0m07.25s  | categories/ExponentialLaws/Law1/Functors                           | 0m01.06s  || +0m06.18s
   N/A    | categories/Structure/IdentityPrinciple                             | 0m06.35s  || -0m06.34s
0m05.88s  | categories/ExponentialLaws/Law3/Functors                           | 0m00.49s  || +0m05.38s
0m06.88s  | categories/NaturalTransformation/Dual                              | 0m01.99s  || +0m04.88s
0m06.61s  | categories/FunctorCategory/Morphisms                               | 0m01.72s  || +0m04.89s
0m05.87s  | categories/ExponentialLaws/Law   N/A                               | 0m01.12s  || +0m04.75s
   N/A    | categories/ExponentialLaws/Law2/Functors                           | 0m04.85s  || -0m04.84s
   N/A    | categories/Functor/Composition/Functorial/Attributes               | 0m04.38s  || -0m04.37s
   N/A    | categories/ProductLaws                                             | 0m04.04s  || -0m04.04s
0m21.71s  | categories/Adjoint/UnitCounitCoercions                             | 0m18.13s  || +0m03.58s
0m09.04s  | categories/Category/Morphisms                                      | 0m05.60s  || +0m03.43s
0m05.30s  | categories/Category/Sigma/Core                                     | 0m02.12s  || +0m03.17s
0m00.30s  | categories/Structure/Core                                          | 0m03.61s  || -0m03.31s
0m04.56s  | categories/Comma/Core                                              | 0m02.22s  || +0m02.33s
0m04.20s  | hit/Connectedness                                                  | 0m07.09s  || -0m02.88s
0m03.95s  | categories/HomFunctor                                              | 0m01.86s  || +0m02.08s
0m02.84s  | categories/Comma/Projection                                        | 0m00.52s  || +0m02.31s
0m02.81s  | EquivalenceVarieties                                               | 0m05.43s  || -0m02.61s
   N/A    | categories/FunctorCategory/Functorial                              | 0m02.70s  || -0m02.70s
0m02.44s  | categories/DualFunctor                                             | 0m04.56s  || -0m02.11s
   N/A    | categories/Functor/Attributes                                      | 0m02.41s  || -0m02.41s
0m08.24s  | categories/Adjoint/UnitCounit                                      | 0m06.52s  || +0m01.72s
0m03.98s  | Equivalences                                                       | 0m02.63s  || +0m01.35s
0m03.63s  | categories/Category/Sum                                            | 0m02.23s  || +0m01.39s
0m03.49s  | categories/Functor/Sum                                             | 0m05.46s  || -0m01.96s
0m03.35s  | categories/Category/Sigma/OnMorphisms                              | 0m04.41s  || -0m01.06s
0m02.40s  | categories/NaturalTransformation/Composition/Laws                  | 0m01.18s  || +0m01.21s
0m02.30s  | categories/Functor/Pointwise                                       | 0m01.08s  || +0m01.21s
0m02.00s  | HSet                                                               | 0m03.01s  || -0m01.00s
0m01.75s  | categories/Cat/Core                                                | 0m00.44s  || +0m01.31s
0m01.56s  | categories/NaturalTransformation/Composition/Functorial            | 0m00.28s  || +0m01.28s
   N/A    | categories/NaturalTransformation/Pointwise                         | 0m01.26s  || -0m01.26s
   N/A    | categories/Limits/Core                                             | 0m01.25s  || -0m01.25s
   N/A    | categories/Functor/Composition/Functorial/Core                     | 0m01.10s  || -0m01.10s
   N/A    | contrib/HoTTBookExercises                                          | 0m01.02s  || -0m01.02s
0m08.10s  | categories/Adjoint/Paths                                           | 0m07.40s  || +0m00.69s
0m02.76s  | categories/NaturalTransformation/Isomorphisms                      | 0m02.04s  || +0m00.71s
0m02.45s  | types/Sigma                                                        | 0m03.07s  || -0m00.61s
0m02.40s  | types/ObjectClassifier                                             | 0m03.34s  || -0m00.94s
0m02.32s  | categories/NaturalTransformation/Paths                             | 0m01.53s  || +0m00.78s
0m02.04s  | categories/Grothendieck/ToSet                                      | 0m02.46s  || -0m00.41s
0m01.96s  | HProp                                                              | 0m02.74s  || -0m00.78s
0m01.90s  | categories/Category/Prod                                           | 0m01.26s  || +0m00.63s
0m01.42s  | PathGroupoids                                                      | 0m01.93s  || -0m00.51s
0m01.40s  | hit/epi                                                            | 0m00.88s  || +0m00.51s
0m01.22s  | categories/Functor/Composition/Laws                                | 0m00.57s  || +0m00.65s
0m01.21s  | types/Record                                                       | 0m01.86s  || -0m00.65s
0m01.14s  | types/Prod                                                         | 0m01.28s  || -0m00.14s
0m01.06s  | categories/InitialTerminalCategory                                 | 0m00.68s  || +0m00.38s
0m00.90s  | categories/NaturalTransformation/Composition/Core                  | 0m00.64s  || +0m00.26s
0m00.88s  | categories/Category/Sigma/OnObjects                                | 0m01.28s  || -0m00.40s
   N/A    | hit/Spheres                                                        | 0m00.86s  || -0m00.86s
0m00.82s  | categories/Cat/Morphisms                                           | 0m00.29s  || +0m00.53s
   N/A    | contrib/HoTTBook                                                   | 0m00.77s  || -0m00.77s
0m00.75s  | types/Paths                                                        | 0m00.83s  || -0m00.07s
0m00.74s  | types/Universe                                                     | 0m00.63s  || +0m00.10s
0m00.72s  | categories/SetCategory/Morphisms                                   | 0m00.80s  || -0m00.08s
0m00.70s  | categories/Functor/Dual                                            | 0m00.32s  || +0m00.37s
   N/A    | categories/categories                                              | 0m00.70s  || -0m00.70s
0m00.58s  | types/Sum                                                          | 0m00.70s  || -0m00.12s
0m00.58s  | categories/SetCategory/Functors/Functors                           | 0m00.23s  || +0m00.35s
   N/A    | categories/NaturalTransformation/Sum                               | 0m00.58s  || -0m00.57s
0m00.55s  | categories/IndiscreteCategory                                      | 0m00.29s  || +0m00.26s
0m00.54s  | hit/Suspension                                                     | 0m00.72s  || -0m00.17s
0m00.53s  | Fibrations                                                         | 0m00.37s  || +0m00.16s
   N/A    | categories/Limits/Functors                                         | 0m00.50s  || -0m00.50s
   N/A    | hit/quotient                                                       | 0m00.50s  || -0m00.50s
0m00.47s  | UnivalenceImpliesFunext                                            | 0m00.63s  || -0m00.16s
0m00.47s  | Tactics                                                            | 0m00.46s  || +0m00.00s
0m00.46s  | Trunc                                                              | 0m00.64s  || -0m00.18s
   N/A    | categories/KanExtensions/Functors                                  | 0m00.46s  || -0m00.46s
0m00.40s  | categories/NaturalTransformation/Identity                          | 0m00.40s  || +0m00.00s
0m00.40s  | types/Forall                                                       | 0m00.44s  || -0m00.03s
0m00.38s  | Functorish                                                         | 0m00.51s  || -0m00.13s
0m00.36s  | categories/FundamentalPreGroupoidCategory                          | 0m00.38s  || -0m00.02s
0m00.36s  | categories/FunctorCategory/Core                                    | 0m00.15s  || +0m00.21s
0m00.34s  | categories/Adjoint/Identity                                        | 0m00.15s  || +0m00.19s
   N/A    | categories/Functor/Functor                                         | 0m00.34s  || -0m00.34s
   N/A    | categories/ExponentialLaws/ExponentialLaws                         | 0m00.32s  || -0m00.32s
0m00.32s  | TruncType                                                          | 0m00.33s  || -0m00.01s
0m00.30s  | categories/HomotopyPreCategory                                     | 0m00.30s  || +0m00.00s
   N/A    | categories/KanExtensions/Core                                      | 0m00.30s  || -0m00.30s
0m00.29s  | categories/Profunctor/Representable                                | 0m00.17s  || +0m00.11s
0m00.29s  | categories/Functor/Composition/Core                                | 0m00.25s  || +0m00.03s
   N/A    | categories/Grothendieck/Grothendieck                               | 0m00.29s  || -0m00.28s
   N/A    | categories/Adjoint/Adjoint                                         | 0m00.27s  || -0m00.27s
   N/A    | categories/Utf8                                                    | 0m00.26s  || -0m00.26s
   N/A    | categories/Pseudofunctor/Pseudofunctor                             | 0m00.26s  || -0m00.26s
   N/A    | categories/Functor/Composition/Composition                         | 0m00.25s  || -0m00.25s
0m00.25s  | types/Arrow                                                        | 0m00.26s  || -0m00.01s
   N/A    | categories/Notations                                               | 0m00.25s  || -0m00.25s
0m00.24s  | categories/NatCategory                                             | 0m00.18s  || +0m00.06s
   N/A    | categories/Functor/Utf8                                            | 0m00.24s  || -0m00.24s
0m00.24s  | categories/Profunctor/Identity                                     | 0m00.14s  || +0m00.09s
0m00.23s  | FunextVarieties                                                    | 0m00.19s  || +0m00.04s
   N/A    | categories/DependentProduct                                        | 0m00.22s  || -0m00.22s
0m00.22s  | categories/Cat/Cat                                                 | 0m00.14s  || +0m00.07s
   N/A    | categories/FunctorCategory/Utf8                                    | 0m00.22s  || -0m00.22s
   N/A    | categories/Functor/Prod/Prod                                       | 0m00.22s  || -0m00.22s
0m00.22s  | categories/Profunctor/Notations                                    | 0m00.12s  || +0m00.10s
   N/A    | categories/Grothendieck/ToCat                                      | 0m00.22s  || -0m00.22s
   N/A    | categories/Functor/Notations                                       | 0m00.22s  || -0m00.22s
0m00.22s  | hit/minus1Trunc                                                    | 0m00.26s  || -0m00.04s
   N/A    | categories/Functor/Composition/Functorial                          | 0m00.21s  || -0m00.21s
   N/A    | categories/KanExtensions/KanExtensions                             | 0m00.21s  || -0m00.21s
   N/A    | categories/Comma/Comma                                             | 0m00.21s  || -0m00.21s
0m00.21s  | categories/Category/Objects                                        | 0m00.21s  || +0m00.00s
   N/A    | categories/NaturalTransformation/NaturalTransformation             | 0m00.20s  || -0m00.20s
0m00.20s  | categories/SetCategory/Core                                        | 0m00.14s  || +0m00.06s
   N/A    | categories/Adjoint/Hom                                             | 0m00.20s  || -0m00.20s
0m00.20s  | types/Bool                                                         | 0m00.22s  || -0m00.01s
   N/A    | categories/NaturalTransformation/Utf8                              | 0m00.20s  || -0m00.20s
   N/A    | categories/Limits/Limits                                           | 0m00.19s  || -0m00.19s
   N/A    | categories/Category/Category                                       | 0m00.19s  || -0m00.19s
   N/A    | categories/ExponentialLaws/Law3/Law3                               | 0m00.18s  || -0m00.18s
   N/A    | HoTT                                                               | 0m00.18s  || -0m00.18s
0m00.18s  | Misc                                                               | 0m00.14s  || +0m00.03s
   N/A    | categories/Adjoint/Notations                                       | 0m00.18s  || -0m00.18s
   N/A    | categories/PseudonaturalTransformation/PseudonaturalTransformation | 0m00.18s  || -0m00.18s
   N/A    | categories/ExponentialLaws/Law1/Law1                               | 0m00.18s  || -0m00.18s
0m00.18s  | types/Unit                                                         | 0m00.13s  || +0m00.04s
0m00.18s  | categories/Adjoint/Composition/LawsTactic                          | 0m00.17s  || +0m00.00s
0m00.17s  | categories/Adjoint/Core                                            | 0m00.14s  || +0m00.03s
   N/A    | hit/iso                                                            | 0m00.17s  || -0m00.17s
0m00.17s  | categories/Category/Dual                                           | 0m00.15s  || +0m00.02s
0m00.17s  | categories/Category/Univalent                                      | 0m00.11s  || +0m00.06s
0m00.17s  | categories/GroupoidCategory/Core                                   | 0m00.20s  || -0m00.03s
0m00.16s  | Conjugation                                                        | 0m00.21s  || -0m00.04s
   N/A    | categories/Adjoint/Utf8                                            | 0m00.16s  || -0m00.16s
   N/A    | categories/Adjoint/Composition/Composition                         | 0m00.16s  || -0m00.16s
   N/A    | categories/NaturalTransformation/Notations                         | 0m00.16s  || -0m00.16s
0m00.16s  | categories/Category/Core                                           | 0m00.12s  || +0m00.04s
   N/A    | categories/SetCategory/SetCategory                                 | 0m00.16s  || -0m00.16s
   N/A    | categories/ExponentialLaws/Law2/Law2                               | 0m00.16s  || -0m00.16s
0m00.15s  | categories/Comma/Utf8                                              | 0m00.20s  || -0m00.05s
0m00.15s  | categories/Profunctor/Core                                         | 0m00.12s  || +0m00.03s
0m00.15s  | Modality                                                           | 0m00.19s  || -0m00.04s
0m00.14s  | categories/GroupoidCategory/GroupoidCategory                       | 0m00.11s  || +0m00.03s
0m00.14s  | coq/Init/Peano                                                     | 0m00.12s  || +0m00.02s
   N/A    | categories/FunctorCategory/FunctorCategory                         | 0m00.14s  || -0m00.14s
0m00.14s  | hit/unique_choice                                                  | 0m00.14s  || +0m00.00s
0m00.14s  | categories/Profunctor/Profunctor                                   | 0m00.14s  || +0m00.00s
   N/A    | categories/Structure/Notations                                     | 0m00.14s  || -0m00.14s
0m00.14s  | categories/NaturalTransformation/Composition/Composition           | 0m00.12s  || +0m00.02s
0m00.14s  | Overture                                                           | 0m00.16s  || -0m00.01s
0m00.14s  | categories/FunctorCategory/Notations                               | 0m00.12s  || +0m00.02s
0m00.13s  | categories/DiscreteCategory                                        | 0m00.13s  || +0m00.00s
   N/A    | categories/Category/Utf8                                           | 0m00.13s  || -0m00.13s
0m00.13s  | hit/Interval                                                       | 0m00.11s  || +0m00.02s
   N/A    | categories/Category/Subcategory/Subcategory                        | 0m00.13s  || -0m00.13s
0m00.13s  | hit/Truncations                                                    | 0m00.10s  || +0m00.03s
   N/A    | categories/ExponentialLaws/Law4/Law4                               | 0m00.12s  || -0m00.12s
0m00.12s  | categories/Comma/Notations                                         | 0m00.14s  || -0m00.02s
0m00.12s  | hit/Circle                                                         | 0m00.55s  || -0m00.43s
   N/A    | categories/CategoryOfSections/CategoryOfSections                   | 0m00.12s  || -0m00.12s
0m00.11s  | Contractible                                                       | 0m00.10s  || +0m00.00s
   N/A    | Tests                                                              | 0m00.11s  || -0m00.11s
   N/A    | categories/Category/Notations                                      | 0m00.11s  || -0m00.11s
   N/A    | categories/Category/Subcategory/Full                               | 0m00.11s  || -0m00.11s
   N/A    | categories/Structure/Structure                                     | 0m00.10s  || -0m00.10s
0m00.10s  | categories/Functor/Core                                            | 0m00.10s  || +0m00.00s
   N/A    | categories/Category/Subcategory/Wide                               | 0m00.10s  || -0m00.10s
0m00.10s  | categories/NaturalTransformation/Core                              | 0m00.15s  || -0m00.04s
0m00.10s  | UnivalenceAxiom                                                    | 0m00.11s  || -0m00.00s
   N/A    | categories/Category/Sigma/Sigma                                    | 0m00.10s  || -0m00.10s
   N/A    | categories/Functor/Pointwise/Pointwise                             | 0m00.10s  || -0m00.10s
   N/A    | categories/Structure/Utf8                                          | 0m00.10s  || -0m00.10s
0m00.09s  | categories/Profunctor/Utf8                                         | 0m00.13s  || -0m00.04s
0m00.08s  | categories/Functor/Identity                                        | 0m00.07s  || +0m00.00s
0m00.08s  | types/UniverseLevel                                                | 0m00.08s  || +0m00.00s
0m00.08s  | hit/TwoSphere                                                      | 0m00.16s  || -0m00.08s
0m00.08s  | coq/Init/Logic_Type                                                | 0m00.04s  || +0m00.04s
0m00.07s  | coq/Init/Specif                                                    | 0m00.06s  || +0m00.01s
0m00.07s  | FunextAxiom                                                        | 0m00.07s  || +0m00.00s
0m00.06s  | categories/Category/Strict                                         | 0m00.08s  || -0m00.02s
0m00.06s  | Pointed                                                            | 0m00.08s  || -0m00.02s
0m00.06s  | coq/Program/Tactics                                                | 0m00.06s  || +0m00.00s
0m00.06s  | types/Empty                                                        | 0m00.06s  || +0m00.00s
0m00.05s  | coq/Init/Datatypes                                                 | 0m00.06s  || -0m00.00s
0m00.04s  | coq/Init/Logic                                                     | 0m00.03s  || +0m00.01s
0m00.04s  | coq/Init/Tactics                                                   | 0m00.03s  || +0m00.01s
0m00.03s  | coq/Init/Notations                                                 | 0m00.02s  || +0m00.00s
0m00.03s  | coq/Bool/Bool                                                      | 0m00.02s  || +0m00.00s
0m00.02s  | coq/Init/Prelude                                                   | 0m00.03s  || -0m00.00s
   N/A    | categories/Comma/ProjectionFunctors                                | 1m49.01s  || -1m49.00s
   N/A    | categories/ExponentialLaws/Law2/Law                                | 2m54.66s  || -2m54.65s
   N/A    | categories/ExponentialLaws/Law4/Law                                | 2m46.03s  || -2m46.03s
   N/A    | categories/ExponentialLaws/Law3/Law                                | 2m32.51s  || -2m32.50s

The N/A files are ones where the dependencies can't be compiled. Here are the files that trunk-polyproj is currently erroring on:

HOQC theories/hit/Circle.v
HOQC theories/hit/Connectedness.v
HOQC theories/hit/TwoSphere.v
HOQC theories/hit/epi.v
HOQC theories/categories/Category/Pi.v
HOQC theories/categories/Category/Sigma/OnMorphisms.v
HOQC theories/categories/Category/Sigma/OnObjects.v
HOQC theories/categories/ExponentialLaws/Law4/Functors.v
HOQC theories/categories/Functor/Prod/Universal.v
HOQC theories/categories/Functor/Sum.v

It's also getting a stack overflow in Defined in the category of sections (trying to minimize this now), and seems to really hate the unification problems I give it in Comma/Duals (but it eventually gets them). @mattam82, do you have any idea what it's doing for the extra 5m 40s in theories/categories/Comma/Dual.v?

@JasonGross
Copy link
Contributor Author

Note that I haven't turned on primitive projections with any special command, so I might be missing out on speedups due to that.

@mattam82
Copy link
Member

mattam82 commented May 2, 2014

If you didn’t turn it on then there’s no way it’s gonna use them :)
I just found an enormous performance problem in the way I used to treat
constraints, I expect you will see noticeable speedups in HoTT now that
it is fixed (in branch trunk-polyproj). The merge with trunk should happen
any day now :)
— Matthieu

On 28 avr. 2014, at 00:50, Jason Gross [email protected] wrote:

Note that I haven't turned on primitive projections with any special command, so I might be missing out on speedups due to that.


Reply to this email directly or view it on GitHub.

@JasonGross
Copy link
Contributor Author

Excellent!

I'll rerun the timing data. Does this fix the slow-down of f_equal applied
to trees of products of Sets that I mentioned?

Will the version merged into trunk have eta for records? Last I checked,
this seems to be missing from trunk-polyproj (or, at least, requires more
then Set Primitive Projections).

-Jason
On May 2, 2014 5:53 AM, "Matthieu Sozeau" [email protected] wrote:

If you didn’t turn it on then there’s no way it’s gonna use them :)
I just found an enormous performance problem in the way I used to treat
constraints, I expect you will see noticeable speedups in HoTT now that
it is fixed (in branch trunk-polyproj). The merge with trunk should happen
any day now :)
— Matthieu

On 28 avr. 2014, at 00:50, Jason Gross [email protected] wrote:

Note that I haven't turned on primitive projections with any special
command, so I might be missing out on speedups due to that.


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHubhttps://github.com//issues/296#issuecomment-42011269
.

@JasonGross
Copy link
Contributor Author

On checking again, the issue (HoTT/coq#124) is that setting universe polymorphism seems to break eta for records.

@JasonGross
Copy link
Contributor Author

If you didn’t turn it on then there’s no way it’s gonna use them :)

Indeed. Unfortunately, trunk-polyproj seems to have enough trouble that I can't test them out for categories. For example, Hint Rewrite @proj : db stack overflows in some cases if proj is a primitive projection (HoTT/coq#122) and Set Implicit Arguments is broken (HoTT/coq#105 and HoTT/coq#80). So I can't even compile Category/Core.v, let alone get to things that might benefit from primitive projections.

(But, please, don't let my open bugs delay merging into trunk. :-) )

@JasonGross
Copy link
Contributor Author

The newest version does not seem to have improved performance over the older trunk-polyproj on the apply f_equal test, unfortunately.

@JasonGross
Copy link
Contributor Author

Here are the files that still don't compile:

HOQC theories/Modality.v
HOQC theories/hit/Circle.v
HOQC theories/hit/TwoSphere.v
HOQC theories/hit/epi.v
HOQC theories/categories/NatCategory.v
HOQC theories/categories/Functor/Prod/Universal.v
HOQC theories/categories/ExponentialLaws/Law4/Law.v
HOQC theories/categories/Adjoint/Hom.v
HOQC theories/categories/Adjoint/Composition/Core.v
HOQC theories/categories/Pseudofunctor/Core.v
HOQC theories/categories/Structure/Core.v

Updated timing data:

After      | File Name                                                          | Before    || Change
----------------------------------------------------------------------------------------------------------
119m34.58s | Total                                                              | 18m09.42s || +101m25.15s
----------------------------------------------------------------------------------------------------------
110m02.19s | hit/Circle                                                         | 0m00.55s  || +110m01.63s
2m00.28s   | categories/ExponentialLaws/Law4/Functors                           | 0m16.64s  || +1m43.64s
   N/A     | categories/Adjoint/Composition/AssociativityLaw                    | 0m36.17s  || -0m36.17s
0m42.60s   | categories/Functor/Pointwise/Properties                            | 0m13.09s  || +0m29.51s
   N/A     | categories/Grothendieck/PseudofunctorToCat                         | 0m28.62s  || -0m28.62s
   N/A     | categories/Adjoint/HomCoercions                                    | 0m23.06s  || -0m23.05s
   N/A     | categories/Comma/InducedFunctors                                   | 0m16.67s  || -0m16.67s
0m23.19s   | categories/Functor/Prod/Universal                                  | 0m07.80s  || +0m15.39s
   N/A     | categories/PseudonaturalTransformation/Core                        | 0m15.99s  || -0m15.99s
   N/A     | categories/Adjoint/Composition/IdentityLaws                        | 0m12.02s  || -0m12.01s
   N/A     | categories/Pseudofunctor/FromFunctor                               | 0m11.79s  || -0m11.78s
2m35.11s   | categories/ExponentialLaws/Law4/Law                                | 2m46.03s  || -0m10.91s
0m18.38s   | categories/GroupoidCategory/Morphisms                              | 0m07.75s  || +0m10.62s
0m02.61s   | categories/Pseudofunctor/Core                                      | 0m13.07s  || -0m10.46s
0m10.28s   | categories/Functor/Prod                                            | 0m00.85s  || +0m09.42s
   N/A     | categories/Yoneda                                                  | 0m09.82s  || -0m09.82s
   N/A     | categories/ExponentialLaws/Law1/Law                                | 0m09.00s  || -0m09.00s
   N/A     | categories/UniversalProperties                                     | 0m08.91s  || -0m08.91s
   N/A     | categories/Comma/Dual                                              | 0m08.83s  || -0m08.83s
0m04.02s   | hit/Flattening                                                     | 0m12.19s  || -0m08.16s
   N/A     | categories/Structure/IdentityPrinciple                             | 0m06.35s  || -0m06.34s
0m10.48s   | categories/Functor/Sum                                             | 0m05.46s  || +0m05.02s
0m09.66s   | categories/Category/Sigma/OnMorphisms                              | 0m04.41s  || +0m05.25s
0m20.66s   | categories/FunctorCategory/Dual                                    | 0m15.81s  || +0m04.84s
0m10.33s   | categories/Functor/Paths                                           | 0m06.25s  || +0m04.08s
0m05.56s   | categories/Category/Sigma/OnObjects                                | 0m01.28s  || +0m04.27s
   N/A     | categories/ExponentialLaws/Law2/Functors                           | 0m04.85s  || -0m04.84s
   N/A     | categories/DualFunctor                                             | 0m04.56s  || -0m04.55s
   N/A     | categories/Functor/Composition/Functorial/Attributes               | 0m04.38s  || -0m04.37s
   N/A     | categories/ProductLaws                                             | 0m04.04s  || -0m04.04s
0m02.26s   | hit/Connectedness                                                  | 0m07.09s  || -0m04.83s
0m09.27s   | categories/Category/Morphisms                                      | 0m05.60s  || +0m03.67s
0m04.10s   | categories/Adjoint/Paths                                           | 0m07.40s  || -0m03.30s
0m02.06s   | EquivalenceVarieties                                               | 0m05.43s  || -0m03.36s
0m00.36s   | categories/Structure/Core                                          | 0m03.61s  || -0m03.25s
0m04.74s   | categories/Category/Sigma/Core                                     | 0m02.12s  || +0m02.62s
0m04.49s   | categories/NaturalTransformation/Dual                              | 0m01.99s  || +0m02.50s
   N/A     | categories/Adjoint/UniversalMorphisms                              | 0m02.93s  || -0m02.93s
   N/A     | categories/Functor/Prod/Functorial                                 | 0m02.90s  || -0m02.89s
0m02.85s   | categories/NaturalTransformation/Sum                               | 0m00.58s  || +0m02.27s
   N/A     | categories/FunctorCategory/Functorial                              | 0m02.70s  || -0m02.70s
   N/A     | categories/Functor/Attributes                                      | 0m02.41s  || -0m02.41s
   N/A     | categories/Comma/Core                                              | 0m02.22s  || -0m02.22s
0m16.64s   | categories/Adjoint/UnitCounitCoercions                             | 0m18.13s  || -0m01.48s
0m15.11s   | categories/Adjoint/Dual                                            | 0m13.52s  || +0m01.58s
0m05.39s   | categories/Adjoint/UnitCounit                                      | 0m06.52s  || -0m01.12s
0m03.84s   | categories/HomFunctor                                              | 0m01.86s  || +0m01.97s
0m01.89s   | HSet                                                               | 0m03.01s  || -0m01.11s
0m01.89s   | types/ObjectClassifier                                             | 0m03.34s  || -0m01.44s
0m01.62s   | Equivalences                                                       | 0m02.63s  || -0m01.00s
   N/A     | categories/Limits/Core                                             | 0m01.25s  || -0m01.25s
   N/A     | categories/NaturalTransformation/Prod                              | 0m01.15s  || -0m01.14s
   N/A     | categories/ExponentialLaws/Law   N/A                               | 0m01.12s  || -0m01.12s
   N/A     | categories/Functor/Composition/Functorial/Core                     | 0m01.10s  || -0m01.10s
   N/A     | categories/ExponentialLaws/Law1/Functors                           | 0m01.06s  || -0m01.06s
   N/A     | contrib/HoTTBookExercises                                          | 0m01.02s  || -0m01.02s
0m13.78s   | categories/Adjoint/Composition/Core                                | 0m13.51s  || +0m00.26s
0m03.00s   | categories/NaturalTransformation/Isomorphisms                      | 0m02.04s  || +0m00.96s
0m02.87s   | categories/Category/Sum                                            | 0m02.23s  || +0m00.64s
0m02.59s   | types/Sigma                                                        | 0m03.07s  || -0m00.48s
0m02.15s   | categories/Category/Prod                                           | 0m01.26s  || +0m00.88s
0m02.10s   | categories/NaturalTransformation/Paths                             | 0m01.53s  || +0m00.57s
0m01.93s   | categories/NaturalTransformation/Composition/Laws                  | 0m01.18s  || +0m00.75s
0m01.76s   | HProp                                                              | 0m02.74s  || -0m00.98s
0m01.60s   | categories/Grothendieck/ToSet                                      | 0m02.46s  || -0m00.85s
0m01.53s   | categories/FunctorCategory/Morphisms                               | 0m01.72s  || -0m00.18s
0m01.50s   | categories/NaturalTransformation/Pointwise                         | 0m01.26s  || +0m00.24s
0m01.46s   | categories/SetCategory/Morphisms                                   | 0m00.80s  || +0m00.65s
0m01.29s   | PathGroupoids                                                      | 0m01.93s  || -0m00.63s
0m01.26s   | categories/Functor/Pointwise                                       | 0m01.08s  || +0m00.17s
0m01.22s   | types/Record                                                       | 0m01.86s  || -0m00.64s
0m01.18s   | hit/epi                                                            | 0m00.88s  || +0m00.29s
0m01.01s   | types/Prod                                                         | 0m01.28s  || -0m00.27s
0m00.98s   | categories/Functor/Composition/Laws                                | 0m00.57s  || +0m00.41s
   N/A     | hit/Spheres                                                        | 0m00.86s  || -0m00.86s
0m00.85s   | categories/CategoryOfSections/Core                                 | 0m01.07s  || -0m00.22s
0m00.85s   | categories/NaturalTransformation/Composition/Core                  | 0m00.64s  || +0m00.20s
   N/A     | contrib/HoTTBook                                                   | 0m00.77s  || -0m00.77s
0m00.76s   | types/Paths                                                        | 0m00.83s  || -0m00.06s
0m00.74s   | types/Universe                                                     | 0m00.63s  || +0m00.10s
0m00.71s   | categories/Functor/Dual                                            | 0m00.32s  || +0m00.38s
   N/A     | categories/categories                                              | 0m00.70s  || -0m00.70s
   N/A     | categories/InitialTerminalCategory                                 | 0m00.68s  || -0m00.68s
0m00.56s   | categories/IndiscreteCategory                                      | 0m00.29s  || +0m00.27s
   N/A     | categories/Comma/Projection                                        | 0m00.52s  || -0m00.52s
0m00.51s   | types/Sum                                                          | 0m00.70s  || -0m00.18s
   N/A     | categories/Limits/Functors                                         | 0m00.50s  || -0m00.50s
   N/A     | hit/quotient                                                       | 0m00.50s  || -0m00.50s
   N/A     | categories/ExponentialLaws/Law3/Functors                           | 0m00.49s  || -0m00.49s
0m00.49s   | Trunc                                                              | 0m00.64s  || -0m00.15s
   N/A     | categories/KanExtensions/Functors                                  | 0m00.46s  || -0m00.46s
   N/A     | categories/Cat/Core                                                | 0m00.44s  || -0m00.44s
0m00.44s   | categories/SetCategory/Functors/Functors                           | 0m00.23s  || +0m00.21s
0m00.44s   | Fibrations                                                         | 0m00.37s  || +0m00.07s
0m00.41s   | categories/NaturalTransformation/Identity                          | 0m00.40s  || +0m00.00s
0m00.40s   | Tactics                                                            | 0m00.46s  || -0m00.06s
0m00.40s   | types/Forall                                                       | 0m00.44s  || -0m00.03s
0m00.39s   | UnivalenceImpliesFunext                                            | 0m00.63s  || -0m00.24s
0m00.38s   | Functorish                                                         | 0m00.51s  || -0m00.13s
0m00.37s   | hit/Suspension                                                     | 0m00.72s  || -0m00.35s
0m00.36s   | hit/minus1Trunc                                                    | 0m00.26s  || +0m00.09s
0m00.35s   | categories/FundamentalPreGroupoidCategory                          | 0m00.38s  || -0m00.03s
0m00.35s   | categories/HomotopyPreCategory                                     | 0m00.30s  || +0m00.04s
   N/A     | categories/Functor/Functor                                         | 0m00.34s  || -0m00.34s
0m00.33s   | categories/Cat/Morphisms                                           | 0m00.29s  || +0m00.04s
   N/A     | categories/ExponentialLaws/ExponentialLaws                         | 0m00.32s  || -0m00.32s
0m00.32s   | TruncType                                                          | 0m00.33s  || -0m00.01s
0m00.31s   | categories/NaturalTransformation/Composition/Functorial            | 0m00.28s  || +0m00.02s
0m00.30s   | categories/Adjoint/Hom                                             | 0m00.20s  || +0m00.09s
0m00.30s   | categories/Category/Objects                                        | 0m00.21s  || +0m00.09s
   N/A     | categories/KanExtensions/Core                                      | 0m00.30s  || -0m00.30s
0m00.29s   | categories/Functor/Composition/Core                                | 0m00.25s  || +0m00.03s
   N/A     | categories/Grothendieck/Grothendieck                               | 0m00.29s  || -0m00.28s
   N/A     | categories/Adjoint/Adjoint                                         | 0m00.27s  || -0m00.27s
0m00.26s   | categories/Adjoint/Identity                                        | 0m00.15s  || +0m00.11s
   N/A     | categories/Utf8                                                    | 0m00.26s  || -0m00.26s
   N/A     | categories/Pseudofunctor/Pseudofunctor                             | 0m00.26s  || -0m00.26s
   N/A     | categories/Functor/Composition/Composition                         | 0m00.25s  || -0m00.25s
0m00.25s   | types/Arrow                                                        | 0m00.26s  || -0m00.01s
   N/A     | categories/Notations                                               | 0m00.25s  || -0m00.25s
0m00.25s   | types/Bool                                                         | 0m00.22s  || +0m00.03s
   N/A     | categories/Functor/Utf8                                            | 0m00.24s  || -0m00.24s
   N/A     | categories/DependentProduct                                        | 0m00.22s  || -0m00.22s
   N/A     | categories/FunctorCategory/Utf8                                    | 0m00.22s  || -0m00.22s
   N/A     | categories/Functor/Prod/Prod                                       | 0m00.22s  || -0m00.22s
   N/A     | categories/Grothendieck/ToCat                                      | 0m00.22s  || -0m00.22s
   N/A     | categories/Functor/Notations                                       | 0m00.22s  || -0m00.22s
0m00.21s   | categories/Profunctor/Representable                                | 0m00.17s  || +0m00.03s
   N/A     | categories/Functor/Composition/Functorial                          | 0m00.21s  || -0m00.21s
   N/A     | categories/KanExtensions/KanExtensions                             | 0m00.21s  || -0m00.21s
   N/A     | categories/Comma/Comma                                             | 0m00.21s  || -0m00.21s
   N/A     | categories/Comma/Utf8                                              | 0m00.20s  || -0m00.20s
   N/A     | categories/NaturalTransformation/NaturalTransformation             | 0m00.20s  || -0m00.20s
   N/A     | categories/NaturalTransformation/Utf8                              | 0m00.20s  || -0m00.20s
0m00.20s   | categories/Category/Pi                                             | 0m00.18s  || +0m00.02s
0m00.20s   | categories/FunctorCategory/Core                                    | 0m00.15s  || +0m00.05s
0m00.19s   | Conjugation                                                        | 0m00.21s  || -0m00.01s
   N/A     | categories/Limits/Limits                                           | 0m00.19s  || -0m00.19s
0m00.19s   | categories/Category/Dual                                           | 0m00.15s  || +0m00.04s
   N/A     | categories/ExponentialLaws/Law3/Law3                               | 0m00.18s  || -0m00.18s
   N/A     | HoTT                                                               | 0m00.18s  || -0m00.18s
   N/A     | categories/Adjoint/Notations                                       | 0m00.18s  || -0m00.18s
0m00.18s   | Modality                                                           | 0m00.19s  || -0m00.01s
   N/A     | categories/PseudonaturalTransformation/PseudonaturalTransformation | 0m00.18s  || -0m00.18s
0m00.18s   | FunextVarieties                                                    | 0m00.19s  || -0m00.01s
   N/A     | categories/ExponentialLaws/Law1/Law1                               | 0m00.18s  || -0m00.18s
0m00.18s   | types/Unit                                                         | 0m00.13s  || +0m00.04s
   N/A     | hit/iso                                                            | 0m00.17s  || -0m00.17s
0m00.17s   | categories/GroupoidCategory/Core                                   | 0m00.20s  || -0m00.03s
0m00.17s   | categories/Adjoint/Composition/LawsTactic                          | 0m00.17s  || +0m00.00s
   N/A     | categories/Adjoint/Utf8                                            | 0m00.16s  || -0m00.16s
0m00.16s   | categories/SetCategory/Core                                        | 0m00.14s  || +0m00.01s
0m00.16s   | Misc                                                               | 0m00.14s  || +0m00.01s
0m00.16s   | hit/unique_choice                                                  | 0m00.14s  || +0m00.01s
0m00.16s   | categories/Category/Category                                       | 0m00.19s  || -0m00.03s
   N/A     | categories/Adjoint/Composition/Composition                         | 0m00.16s  || -0m00.16s
   N/A     | categories/NaturalTransformation/Notations                         | 0m00.16s  || -0m00.16s
   N/A     | categories/ExponentialLaws/Law2/Law2                               | 0m00.16s  || -0m00.16s
0m00.16s   | Overture                                                           | 0m00.16s  || +0m00.00s
0m00.15s   | categories/NatCategory                                             | 0m00.18s  || -0m00.03s
0m00.15s   | categories/Category/Core                                           | 0m00.12s  || +0m00.03s
   N/A     | categories/Cat/Cat                                                 | 0m00.14s  || -0m00.14s
0m00.14s   | categories/Profunctor/Core                                         | 0m00.12s  || +0m00.02s
   N/A     | categories/FunctorCategory/FunctorCategory                         | 0m00.14s  || -0m00.14s
0m00.14s   | categories/Category/Univalent                                      | 0m00.11s  || +0m00.03s
   N/A     | categories/Comma/Notations                                         | 0m00.14s  || -0m00.14s
   N/A     | categories/Structure/Notations                                     | 0m00.14s  || -0m00.14s
0m00.14s   | categories/NaturalTransformation/Core                              | 0m00.15s  || -0m00.00s
0m00.14s   | categories/SetCategory/SetCategory                                 | 0m00.16s  || -0m00.01s
0m00.14s   | categories/Profunctor/Identity                                     | 0m00.14s  || +0m00.00s
0m00.13s   | categories/Adjoint/Core                                            | 0m00.14s  || -0m00.01s
0m00.13s   | categories/Profunctor/Profunctor                                   | 0m00.14s  || -0m00.01s
0m00.13s   | categories/Category/Notations                                      | 0m00.11s  || +0m00.02s
0m00.13s   | categories/Category/Sigma/Sigma                                    | 0m00.10s  || +0m00.03s
0m00.13s   | categories/FunctorCategory/Notations                               | 0m00.12s  || +0m00.01s
0m00.13s   | hit/Truncations                                                    | 0m00.10s  || +0m00.03s
0m00.12s   | categories/DiscreteCategory                                        | 0m00.13s  || -0m00.01s
0m00.12s   | Contractible                                                       | 0m00.10s  || +0m00.01s
0m00.12s   | hit/Interval                                                       | 0m00.11s  || +0m00.00s
   N/A     | categories/ExponentialLaws/Law4/Law4                               | 0m00.12s  || -0m00.12s
0m00.12s   | hit/TwoSphere                                                      | 0m00.16s  || -0m00.04s
0m00.11s   | categories/Category/Utf8                                           | 0m00.13s  || -0m00.02s
0m00.11s   | categories/Category/Subcategory/Wide                               | 0m00.10s  || +0m00.00s
0m00.11s   | categories/Category/Subcategory/Subcategory                        | 0m00.13s  || -0m00.02s
   N/A     | Tests                                                              | 0m00.11s  || -0m00.11s
0m00.11s   | categories/NaturalTransformation/Composition/Composition           | 0m00.12s  || -0m00.00s
0m00.11s   | categories/Functor/Pointwise/Pointwise                             | 0m00.10s  || +0m00.00s
0m00.11s   | categories/Profunctor/Utf8                                         | 0m00.13s  || -0m00.02s
0m00.10s   | categories/Functor/Identity                                        | 0m00.07s  || +0m00.03s
0m00.10s   | categories/Profunctor/Notations                                    | 0m00.12s  || -0m00.01s
   N/A     | categories/Structure/Structure                                     | 0m00.10s  || -0m00.10s
0m00.10s   | coq/Init/Peano                                                     | 0m00.12s  || -0m00.01s
0m00.10s   | categories/Functor/Core                                            | 0m00.10s  || +0m00.00s
0m00.10s   | Pointed                                                            | 0m00.08s  || +0m00.02s
0m00.10s   | categories/Category/Subcategory/Full                               | 0m00.11s  || -0m00.00s
   N/A     | categories/Structure/Utf8                                          | 0m00.10s  || -0m00.10s
0m00.10s   | categories/CategoryOfSections/CategoryOfSections                   | 0m00.12s  || -0m00.01s
0m00.09s   | coq/Init/Specif                                                    | 0m00.06s  || +0m00.03s
0m00.09s   | UnivalenceAxiom                                                    | 0m00.11s  || -0m00.02s
0m00.08s   | categories/GroupoidCategory/GroupoidCategory                       | 0m00.11s  || -0m00.03s
0m00.08s   | types/UniverseLevel                                                | 0m00.08s  || +0m00.00s
0m00.08s   | types/Empty                                                        | 0m00.06s  || +0m00.02s
0m00.06s   | coq/Init/Datatypes                                                 | 0m00.06s  || +0m00.00s
0m00.06s   | categories/Category/Strict                                         | 0m00.08s  || -0m00.02s
0m00.06s   | coq/Program/Tactics                                                | 0m00.06s  || +0m00.00s
0m00.06s   | FunextAxiom                                                        | 0m00.07s  || -0m00.01s
0m00.05s   | coq/Init/Logic_Type                                                | 0m00.04s  || +0m00.01s
0m00.04s   | coq/Init/Prelude                                                   | 0m00.03s  || +0m00.01s
0m00.03s   | coq/Init/Logic                                                     | 0m00.03s  || +0m00.00s
0m00.03s   | coq/Bool/Bool                                                      | 0m00.02s  || +0m00.00s
0m00.02s   | coq/Init/Notations                                                 | 0m00.02s  || +0m00.00s
0m00.02s   | coq/Init/Tactics                                                   | 0m00.03s  || -0m00.00s
   N/A     | categories/Comma/ProjectionFunctors                                | 1m49.01s  || -1m49.00s
   N/A     | categories/ExponentialLaws/Law2/Law                                | 2m54.66s  || -2m54.65s
   N/A     | categories/ExponentialLaws/Law3/Law                                | 2m32.51s  || -2m32.50s

@Alizter
Copy link
Collaborator

Alizter commented Oct 28, 2019

@JasonGross What is left in this issue?

@Alizter
Copy link
Collaborator

Alizter commented Nov 20, 2019

It should be noted that we do in fact have heterogeneous equality in the library now. It is under the name DPath in the Cubical library.

@mikeshulman
Copy link
Contributor

Sometimes "heterogeneous equality" refers to the univalence-incompatible version; I'm not sure what @JasonGross meant here 6 years ago.

@JasonGross
Copy link
Contributor Author

I was in fact referring to JMeq and JMeq_eq from the standard library, which are inconsistent with univalence.

@Alizter
Copy link
Collaborator

Alizter commented Nov 20, 2019

What can JMeq do that DPath's can't? Or is it something to do with axiom K?

@mikeshulman
Copy link
Contributor

The axiom JMeq_eq is equivalent to K.

@mikeshulman
Copy link
Contributor

I suspect that this issue is stale and should be closed, but I'll let @JasonGross opine.

@Alizter
Copy link
Collaborator

Alizter commented Nov 20, 2019

Oh ok that explains it. Regarding this issue however, if transports are slow I am curious to see if DPaths do any better, since I would expect there to be less unfolding.

@Alizter Alizter closed this as completed Apr 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants