2009-11-17 5 views
4

Stackless Python과 PyQt에서 어떤 경험이 있습니까?Stackless Python과 PyQt

문제를 사람들이 해결하면 내가 행복 할 것 : PyQt는의

  1. 컴파일을 스택리스에 대한 : PyQt는이 스택리스 특히 컴파일 할 필요합니까? 컴파일은 부드럽습니까? 바인딩 등의 문제

  2. 안정성 : 예기치 않은 충돌, 정지, 일시 정지 및 기타 이상 현상이 있습니까?

  3. 메모리 관리 : 메모리 누수의 힌트. RAM의 비교는 스택리스/일반 바닐라 PyQt는 애플리케이션

  4. 에 필요한
  5. 소프트웨어 엔지니어링 능력을 키우고 :

  6. 교훈

  7. 는 스택리스 구동 PyQt는 애플리케이션

    에 대한 제어 흐름 모델의 아주 짧은 개요 : 어떤 고통스러운 교훈을 배운, 트랩은, 당신이 행복

을 경험했을 수도 해결하기 위해 문제를 피할 수

답변

0

나는 몇 달 전에이 길로 내려 가려고 노력했고 그만한 가치가 없다고 결정했다.

Python의 무 스택 버전에 대해 PyQt (Windows에서)의 바이너리 설치를 실행할 수 있었지만 수동으로 이동하여 일부 파일을 변경해야한다는 것을 알았습니다. 오류 메시지 (미안, 나는 그게 무엇인지 잊어 버렸습니다.)와 구글 검색은 몇 년 전부터 해결책을 찾았습니다. 최신 코드에는 이전 수정 사항이 포함되어 있지 않으므로 변경 사항이 너무 어렵지 않았으며 (올바르게 기억하는 경우) 변경 사항은 파이썬이므로 재 컴파일이 필요하지 않았습니다.

그러나 그것은 나를위한 거래 차단기였습니다. PyQt에 대한 업데이트와 마찬가지로 정기적으로 Qt 업데이트가 나오고 코드를 계속 수정하고 싶지 않습니다. Stackless와 PyQt는 철저히 체크 아웃하기에 함께 사용되지 않습니다. 꽤 어려운 문제를 디버그하기가 어렵다는 것을 발견했습니다. stackless의 저자가 PyPy로 옮겨 갔다는 점을 감안할 때 특히 그렇습니다. 미리 사과하겠습니다. 저자가 Stackless Python 개발을 중단하고 수정해야하는 오류에 대한 자세한 설명을 찾았 으면 좋겠습니다. 스택 오버플로에 대한 세부 정보를 되풀이 할 것을 기대하지 않았습니다.

그래서 스택리스가 아닌 바닐라 파이썬에서 PyQt를 실행하기로했습니다.

나는 또한 다중 스레드 문제를 해결하는 완전히 다른 방법이기 때문에 신호/슬롯을 스택이없는 코드와 혼합하는 것이 혼란 스러울 것이라고 생각했습니다.

행운을 빈다.

0

당신이 때문에 모든 관심이 있다면 속도 최적화 :

Unladen Swallow (Wikipedia here)을 확인하십시오. Google (YouTube가 100 % Python이기 때문에)은 Python 용 JIT 컴파일러에서 속도를 5 ~ 10 배 향상시킵니다 (현재 가상 시스템보다 Java 속도에 훨씬 더 가깝습니다). 가장 좋은 점은 이 기존 파이썬 코드과 함께 작동한다는 것입니다. 즉, 다른 파이썬 최적화 프로젝트와 관련된 모든 문제를 해결할 필요가 없습니다.

낮은 수준의 최적화 필요성을 보증 할만큼 충분히 큰 프로젝트를 개발 중이라면 일반 Python으로 개발 한 다음 Unladen Swallow가 나올 때 현재 VM을 바꿀 수 있습니다. 생산에서.

+0

응답 해 주셔서 감사합니다. 자사의 흐름 제어 모델이 내 프로젝트와 잘 어울리므로 Stackless Python을 사용하고 싶습니다. 이 프로젝트에서 런타임 속도보다 R & D 속도를 최적화하는 것이 더 중요합니다 (스택리스가 런타임 속도를 높일 것으로 예측합니다) –

+0

그래, 조금 (5-10 % 이상)이라고 들었습니다. – orokusaki