2014-01-16 3 views
0

lib (*. so)를 ctypes로 연결하고 있습니다. 그러나 로딩 시간은 매우 깁니다. 그것은 매우 느립니다.로딩 시간이 너무 깁니다.

성능 향상에 어떤 기술을 사용할 수 있습니까?

내 모듈은 항상 프롬프트에서 실행됩니다. 한 번에 명령을 실행합니다.

> $./myrunlib.py fileQuestion fileAnswer 
# again 
> $./myrunlib.py fileQuestion fileAnswer 

코드 :

from ctypes import * 
drv = cdll.LoadLibrary('/usr/lib/libXPTO.so') 
+2

우리가 사용하고있는 코드를 보여주십시오. 그렇지 않으면 정말로 도움이되지 않습니다 ... – MattDMo

+1

동일한 C를로드하는 간단한 C 프로그램도 오랜 시간이 걸립니까? – abarnert

답변

0

어느 당신은 매우 천천히 (I 오히려 가능성이 찾을 수있는) 파이썬 프로그램에서 사용하면 라이브러리로드를 만드는 이상한 버그를 가지고, 또는 부하가 걸릴 소요 시간 (아마도 라이브러리가로드 될 때 큰 초기화 작업을 수행하기 때문에).

후자의 경우 유일한 옵션은 Python 프로그램을 다시 시작하지 못하도록하는 것입니다. 커맨드 라인이 아닌 stdin (또는 다른 파이프 또는 소켓 또는 어쩌면 작업 파일)에서 모든 작업을 읽는 루프로 실행하십시오.

+0

Alfe, 제안에 감사드립니다 (데몬, 소켓 등 ..). 하지만 커맨드 라인에서 실행 최적화를 시도하고 싶습니다. – Ivanelson

+0

그런 다음이 라이브러리가 "정상적인"C 프로그램 (@ abarnert의 제안)에서로드 될 때로드가 걸리는 시간을 살펴보십시오. 또한 시간이 오래 걸리면 라이브러리 자체를 최적화해야합니다. – Alfe

+0

좋은 아이디어! C로로드하고 시간을 측정하려고합니다. – Ivanelson

관련 문제