jlapeyre / Qurt.jl

Qiskit compatible circuit manipulation in Julia
MIT License
3 stars 0 forks source link

Petition to remove dependence on `StaticArrays` #15

Closed jlapeyre closed 1 year ago

jlapeyre commented 1 year ago

Loading is not really slow, but would be better if we did not depend on StaticArrays. (See output at end of comment) Manifest.toml shows that the dependency path is QuantumDAGs $\to$ Graphs $\to$ ArnoldiMethod $\to$ StaticArrays.

We should petition Graphs.jl to make ArnoldiMethod.jl a weak dependency. Or perhaps petition ArnoldiMethod.jl.

julia> @time_imports using QuantumDAGs
      3.6 ms  MEnums
      0.2 ms  DataValueInterfaces
      1.0 ms  DataAPI
      0.1 ms  IteratorInterfaceExtensions
      0.1 ms  TableTraits
      6.9 ms  OrderedCollections
     78.8 ms  Tables
      2.5 ms  StaticArraysCore
      0.2 ms  Adapt
      2.8 ms  GPUArraysCore
     20.9 ms  StructArrays
      0.2 ms  ConcreteStructs
      2.5 ms  Indexing
     38.3 ms  Dictionaries
      0.3 ms  ZChop
      1.0 ms  DictTools
     10.6 ms  MacroTools
      2.0 ms  SimpleTraits
    529.8 ms  StaticArrays
      0.2 ms  Adapt → AdaptStaticArraysExt
      3.6 ms  ArnoldiMethod
      0.1 ms  Compat
      0.1 ms  Compat → CompatLinearAlgebraExt
      0.5 ms  Inflate
     80.7 ms  DataStructures
     38.4 ms  Graphs
     44.7 ms  QuantumDAGs
jlapeyre commented 1 year ago

I made this petition. It's more of raising awareness. I don't have time to do it now. But I may have time later. And someone else might do it. Or do it in conjunction with other work that touches ArnoldiMethods.