| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
root.path files
Для того чтобы работал сценарий
```
echo `arc root` > /tmp/.root.path
```
commit_hash:255b16f66c1a610cea5322a3842edc492634faaf
|
|
|
|
|
|
|
|
|
| |
[Вот так](HIDDEN_URL делает нативный питон
[Репродьюсер](HIDDEN_URL
Как оно выглядит [ДО](HIDDEN_URL и [ПОСЛЕ](HIDDEN_URL, а вот так [нативный](HIDDEN_URL
commit_hash:cdce69c28e699d42f25e43f5d6efb214c8227024
|
|
|
|
| |
commit_hash:ee709cc1095985919972e31b34d0127eb322959f
|
|
|
|
| |
commit_hash:3433c11c4d386c785422b1e149e9a3a8de7f4f0f
|
|
|
|
|
|
|
|
|
| |
В репозитории больше не будет `__pycache__` при запусках через ya make / test
На примере devtools/ya/handlers/analyze_make/tests
Время конфигурации в горячем сценарии в режиме --ext-py при изменении одного питонфайлика: `Configure time - 6.1 s`
Время конфигурации в горячем сценарии в режиме --ext-py при изменении одного питонфайлика с текущими правками: `Configure time - 4.6 s`
commit_hash:adf5219cd4f347bb572393d4a6debd1436dc0815
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Добавляется поддержка стандартной работы с байткодом для бинарей собранных с --ext-py (HIDDEN_URL
На примере импорт теста для `devtools/ya/bin`
`time Y_PYTHON_ENTRY_POINT=library.python.testing.import_test.import_test:main YA_TEST_CONTEXT_FILE=/tmp/test.context ./ya-bin >/dev/null`
#|
||
Без патча ya m -r
|
real 0m2,934s
user 0m2,772s
sys 0m0,157s
||
||
Без патча
ya m -r --ext-py
|
real 0m10,916s
user 0m9,927s
sys 0m0,368s
||
||
C патчем
ya m -r
|
real 0m2,931s
user 0m2,774s
sys 0m0,156s
||
||
C патчем
ya m -r --ext-py
первый запуск с записью байткода
|
real 0m7,482s
user 0m5,174s
sys 0m0,620s
||
||
C патчем
ya m -r --ext-py
последующие запуски с использованием байткода с фс
|
real 0m3,550s
user 0m2,801s
sys 0m0,262s
||
|#
commit_hash:84f7bb273b09d51b88eb5c5b6dfcd3bb7c108307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Режим позволяет перезапускать python тесты или интеграционные тесты на питон программы при внесении изменений в python файлы без перекомпиляции.
Сценарий:
- прогнали тесты
- внесли изменение в `library/python/func/__init__.py`
- перезапустили, смотрим на времена
На примере интеграционного devtools/ya/handlers/analyze_make/tests в codenv (base конфигурация).
#|
||
ya m -rA
|
ya m -rA --ext-py
||
||
real 10m25,928s
user 0m53,465s
sys 1m14,791s
```
Total time by type:
[935171 ms] [LD] [count: 3, ave time 311723.67 msec]
[ 13657 ms] [prepare:AC] [count: 4, ave time 3414.25 msec]
[ 10436 ms] [TM] [count: 1, ave time 10436.00 msec]
[ 10387 ms] [prepare:get from local cache] [count: 1521, ave time 6.83 msec]
[ 6480 ms] [TS] [count: 1, ave time 6480.00 msec]
[ 3823 ms] [prepare:put into local cache, clean build dir] [count: 7, ave time 546.14 msec]
[ 2279 ms] [CC] [count: 1, ave time 2279.00 msec]
[ 1251 ms] [PY] [count: 1, ave time 1251.00 msec]
[ 372 ms] [prepare:yt-store] [count: 2, ave time 186.00 msec]
[ 154 ms] [AR] [count: 1, ave time 154.00 msec]
...
```
|
real 0m22,094s
user 0m26,372s
sys 0m3,363s
```
Total time by type:
[13140 ms] [TM] [count: 1, ave time 13140.00 msec]
[ 351 ms] [prepare:yt-store] [count: 1, ave time 351.00 msec]
[ 81 ms] [prepare:tools] [count: 8, ave time 10.12 msec]
[ 32 ms] [prepare:AC] [count: 2, ave time 16.00 msec]
[ 31 ms] [prepare:get from local cache] [count: 7, ave time 4.43 msec]
[ 16 ms] [prepare:clean] [count: 3, ave time 5.33 msec]
```
||
|#
В codenv в base конфигуарции (4cpu) невероятно долго идёт линковка. Тот же самый сценарий, но на mous (54cpu)
#|
||
ya m -rA
|
ya m -rA --ext-py
||
||
real 0m25,435s
user 0m40,242s
sys 0m22,434s
```
Total time by type:
[30958 ms] [prepare:get from local cache] [count: 1521, ave time 20.35 msec]
[16293 ms] [prepare:AC] [count: 4, ave time 4073.25 msec]
[11161 ms] [LD] [count: 3, ave time 3720.33 msec]
[ 4256 ms] [TM] [count: 1, ave time 4256.00 msec]
[ 3529 ms] [TS] [count: 1, ave time 3529.00 msec]
[ 1542 ms] [CC] [count: 1, ave time 1542.00 msec]
[ 635 ms] [PY] [count: 1, ave time 635.00 msec]
...
```
|
real 0m18,321s
user 0m21,673s
sys 0m3,204s
```
Total time by type:
[10786 ms] [TM] [count: 1, ave time 10786.00 msec]
[ 1568 ms] [prepare:yt-store] [count: 1, ave time 1568.00 msec]
[ 151 ms] [prepare:tools] [count: 8, ave time 18.88 msec]
[ 61 ms] [prepare:get from local cache] [count: 7, ave time 8.71 msec]
[ 48 ms] [prepare:AC] [count: 2, ave time 24.00 msec]
[ 14 ms] [prepare:clean] [count: 3, ave time 4.67 msec]
```
||
|#
В новом режиме тест ожидаемо замедляется, так как все питон программы при каждом старте вынуждены читать файлы с фс (ещё через арк), а потом ещё и компилировать байткод, т.е. холодный запуск
commit_hash:24c5a46a8385d3c065abfb6fc5b40f7ad24bb1cb
|
|
|
|
| |
commit_hash:2a9f4a61b44a7e34d430d8615b5c9d2d120fa7d9
|
|
|
|
|
|
|
| |
There is no runtime perf impact, but
- The change reduces build graph by removing 2 nodes out of 5 for python which accelerates both configuration and build
- surprisingly in all experiments there were positive impact on binary size about 2MiB
commit_hash:909fdeeb91b7f20c749177d638e97d5a469e422d
|
|
|
|
| |
0003a9ac951e380a13106a8f180014e0aed57f3a
|
|
|
|
| |
5d391b8f31717f85fcd88c4ae5ce3b57a723e42e
|
|
|
|
| |
996025a2ee725b626c3b77aac016d8f8c0ac4e76
|
|
|
|
| |
58bed0cef82a2a691f8f949d16c3d3b03d94f627
|
|
|
|
|
|
|
| |
* Move src/ subdir contents to the top of the layout
* Rename self-written lib -> lib2 to avoid CaseFolding warning from the VCS
* Regenerate contrib/libs/python proxy-headers accordingly
4ccc62ac1511abcf0fed14ccade38e984e088f1e
|
| |
|
| |
|
|
|
|
|
| |
* Library import 5, delete go dependencies
* Fix yt client
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* typo-fix
* add before and after import callbacks
|
| |
|
| |
|
|
|
|
| |
ref:e84342d4d30476f9148137f37fd0c6405fd36f55
|
|
|
|
| |
ref:b200b70556036c6a735ab81b1414c4b334ba5958
|
|
|
|
| |
ref:919db9913468e91d031bbd511beeacdcfdd74489
|
|
|
|
|
|
|
|
|
|
| |
The arcadia main function (library/python/runtime_py3/main/main.c::pymain) calls Py_InitializeFromConfig() before going to the vanilla python Py_Main().
Py_InitializeFromConfig() overrides sys.prefix and sys.exec_prefix by default values ('/var/empty') and then import __res module (and importer.pxi as a part of it).
importer.pxi::_init_venv() set a proper value to sys.prefix and sys.exec_prefix attributes.
Py_Main() in turn also calls Py_InitializeFromConfig() and reset the sys attributes to their default values again.
I don't know why it was not a problem in python 3.9 but in 3.10 it is.
ref:0466de641f92d66c4f992ae12c02d8d58db397f6
|
|
|
|
| |
ref:ca7a95e8c9a9d780f96497136a152091d54e61b5
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
2 of 2.
|
|
|
|
| |
1 of 2.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
<nslus@yandex-team.com>. Commit 2 of 2.
|
|
|
|
| |
<nslus@yandex-team.com>. Commit 1 of 2.
|
| |
|
| |
|
|
|
|
| |
Commit 2 of 2.
|