inducer / inducer/pymbolic

Substantial time spent in init-ing modules

Open
#241 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
131
Forks
26
Avg merge
41m
Merged PRs (30d)
2

Description

```python
$ cat foo.py
import pytato as pt
$ time python foo.py

real 0m1.328s
user 0m2.378s
sys 0m0.131s
```

This is what pyinstrument has to say:
```python
1.639 foo.py:1
└─ 1.639 pytato/__init__.py:1
├─ 0.981 pytato/analysis/__init__.py:1
│ ├─ 0.651 loopy/__init__.py:1
│ │ [33 frames hidden] loopy, pymbolic, , dataclas...
│ ├─ 0.131 NodeCountMapper.wrapper pymbolic/mapper/optimize.py:276
│ │ [22 frames hidden] ast, _ast_unparse
│ ├─ 0.110 pytato/transform/__init__.py:1
│ │ └─ 0.100 TopoSortMapper.wrapper pymbolic/mapper/optimize.py:276
│ │ [11 frames hidden] pymbolic, ast,
│ └─ 0.062 pytato/array.py:1
│ └─ 0.041 Placeholder.map_cls pytato/array.py:342
│ └─ 0.025 Array._augment_array_dataclass pytato/array.py:371
│ └─ 0.022 compile
├─ 0.233 numpy/__init__.py:1
│ [15 frames hidden] numpy
├─ 0.087 pytools/__init__.py:1
│ [8 frames hidden] pytools, importlib, logging, traceback
├─ 0.081 pytato/target/loopy/codegen.py:1
│ └─ 0.075 pytato/codegen.py:1
│ └─ 0.070 NamesValidityChecker.wrapper pymbolic/mapper/optimize.py:276
│ [5 frames hidden] ast
├─ 0.078 pytato/distributed/partition.py:1
│ └─ 0.072 _MaterializedArrayCollector.wrapper pymbolic/mapper/optimize.py:276
│ [6 frames hidden] ast
└─ 0.073 pytato/distributed/verify.py:1
└─ 0.065 _SeenNodesWalkMapper.wrapper pymbolic/mapper/optimize.py:276
[5 frames hidden] ast
```

If we expect importing pytato to be 5x slower compared to numpy, please close this.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.