Следующий код является частью гораздо более крупного проекта, но это все, что нужно показать, чтобы проиллюстрировать мою проблему.
В ответ на запрос более конкретного кода для иллюстрации проблемы Я предоставил следующую информацию. Я запускаю код Python в терминале. Test.c выполняется за мс. Но по показанному времени видно, что подпроцесс не возвращается в течение 12,6 секунд.
Что делает subprocess.run в течение 12,6 секунд и как мне избавиться от этой задержки?
И вот самое интересное. Я использую Geany в качестве программного обеспечения для редактирования и сборки. Если я создам test.c, код запустится без задержки. Если я создаю test.c, задержка составляет 12,6 секунды.
Обратите внимание, что из аргументов команды можно передать файл любого типа. Я позволю вам заменить любой файл по вашему желанию.
test.py:
import time
import subprocess
from datetime import datetime
cmd_args = ['/home/wa4ywm/gr-ft8_rxtx/Test/test', '/home/wa4ywm/ gr-ft8_rxtx/python/Hello.txt']
now = float(datetime.now().strftime('%S.%f'))
print ("Before ft8_decode = ", now)
ft8_decode = subprocess.Popen(cmd_args, stdout=subprocess.PIPE)
output, _ = ft8_decode.communicate()
print(output.decode())
now = float(datetime.now().strftime('%S.%f'))
print ("After ft8_decode = ", now)
< /code>
Вот типичный вывод, показывающий время выполнения: < /p>
wa4ywm@raspberrypi:~/gr-ft8_rxtx/Test $ python3 test.py
Before ft8_decode = 24.282739
After ft8_decode = Sun Jan 19 13:52:25 2025
After ft8_decode = 36.900071
< /code>
test.c:
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
printf("Time4 before load_wav = \n");
return 0;
}
< /code>
Следующий Makefile адаптирован из файла, используемого для более крупного проекта. < /p>
Makefile: < /p>
CFLAGS = -O3 -ggdb3 -fsanitize=address
CPPFLAGS = -std=c11 -I.
LDFLAGS = -lm -fsanitize=address -static-libasan
TARGETS = test
.PHONY: run_tests all clean
all: $(TARGETS)
run_tests: test
@./test
test: test.o fft/kiss_fftr.o fft/kiss_fft.o ft8/decode.o ft8/encode.o ft8/crc.o ft8/ldpc.o ft8/unpack.o ft8/text.o ft8/constants.o common/wave.o
$(CXX) $(LDFLAGS) -o $@ $^
clean:
rm -f *.o ft8/*.o common/*.o fft/*.o $(TARGETS)
install:
$(AR) rc libft8.a ft8/constants.o ft8/encode.o ft8/pack.o ft8/text.o common/wave.o
install libft8.a /usr/lib/libft8.a
< /code>
Я понял, что эта проблема возникла после обновления программного обеспечения для моей операционной системы и обновления радио GNU. Я работаю на Raspberry Pi, и ОС была обновлена до книжного червя. Радио GNU было обновлено до 3.10, которое включало обновление на Python 3.11.
Любые комментарии?
Подробнее здесь: https://stackoverflow.com/questions/793 ... r-too-long
Python subprocess.run работает слишком долго [закрыто] ⇐ Python
Программы на Python
-
Anonymous
1737914734
Anonymous
Следующий код является частью гораздо более крупного проекта, но это все, что нужно показать, чтобы проиллюстрировать мою проблему.
В ответ на запрос более конкретного кода для иллюстрации проблемы Я предоставил следующую информацию. Я запускаю код Python в терминале. Test.c выполняется за мс. Но по показанному времени видно, что подпроцесс не возвращается в течение 12,6 секунд.
Что делает subprocess.run в течение 12,6 секунд и как мне избавиться от этой задержки?
И вот самое интересное. Я использую Geany в качестве программного обеспечения для редактирования и сборки. Если я создам test.c, код запустится без задержки. Если я создаю test.c, задержка составляет 12,6 секунды.
Обратите внимание, что из аргументов команды можно передать файл любого типа. Я позволю вам заменить любой файл по вашему желанию.
test.py:
import time
import subprocess
from datetime import datetime
cmd_args = ['/home/wa4ywm/gr-ft8_rxtx/Test/test', '/home/wa4ywm/ gr-ft8_rxtx/python/Hello.txt']
now = float(datetime.now().strftime('%S.%f'))
print ("Before ft8_decode = ", now)
ft8_decode = subprocess.Popen(cmd_args, stdout=subprocess.PIPE)
output, _ = ft8_decode.communicate()
print(output.decode())
now = float(datetime.now().strftime('%S.%f'))
print ("After ft8_decode = ", now)
< /code>
Вот типичный вывод, показывающий время выполнения: < /p>
wa4ywm@raspberrypi:~/gr-ft8_rxtx/Test $ python3 test.py
Before ft8_decode = 24.282739
After ft8_decode = Sun Jan 19 13:52:25 2025
After ft8_decode = 36.900071
< /code>
test.c:
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
printf("Time4 before load_wav = \n");
return 0;
}
< /code>
Следующий Makefile адаптирован из файла, используемого для более крупного проекта. < /p>
Makefile: < /p>
CFLAGS = -O3 -ggdb3 -fsanitize=address
CPPFLAGS = -std=c11 -I.
LDFLAGS = -lm -fsanitize=address -static-libasan
TARGETS = test
.PHONY: run_tests all clean
all: $(TARGETS)
run_tests: test
@./test
test: test.o fft/kiss_fftr.o fft/kiss_fft.o ft8/decode.o ft8/encode.o ft8/crc.o ft8/ldpc.o ft8/unpack.o ft8/text.o ft8/constants.o common/wave.o
$(CXX) $(LDFLAGS) -o $@ $^
clean:
rm -f *.o ft8/*.o common/*.o fft/*.o $(TARGETS)
install:
$(AR) rc libft8.a ft8/constants.o ft8/encode.o ft8/pack.o ft8/text.o common/wave.o
install libft8.a /usr/lib/libft8.a
< /code>
Я понял, что эта проблема возникла после обновления программного обеспечения для моей операционной системы и обновления радио GNU. Я работаю на Raspberry Pi, и ОС была обновлена до книжного червя. Радио GNU было обновлено до 3.10, которое включало обновление на Python 3.11.
Любые комментарии?
Подробнее здесь: [url]https://stackoverflow.com/questions/79369635/python-subprocess-run-running-far-too-long[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия