독립형 Matlab 응용 프로그램을 만들었습니다. Matlab 환경에서 응용 프로그램을 실행하는 것보다 빠르기를 기대했지만 실제로는 조금 느립니다 (반복 당 1.3 seg 대 반복 당 1.5 seg) MCR에 필요한 초기화 시간은 계산하지 않지만 코드는 실행합니다 . 예상되는 성능입니까, 아니면 성능 향상을 얻어야합니까? 배포 도구에서 실행 시간을 줄이는 데 도움이되는 설정을 찾지 못했습니다. MATLAB 컴파일러로 구축Matlab은 Matlab보다 긴 실행 코드를위한 UI보다 더 빠릅니까?
답변
응용 프로그램은 MATLAB 내에서로 거의 정확히 같은 속도로 실행해야 사전에
감사합니다.
MATLAB 컴파일러는 C 컴파일러가 C와 동일한 방식으로 MATLAB 코드를 컴퓨터 코드로 변환하지 않습니다. MATLAB 코드를 보관하고 암호화하는 것입니다 (정확히 말하면 pcode
그것은 주석에서 알 수 있듯이), thin 실행 가능 래퍼를 생성하고, 가능하면 MATLAB Compiler Runtime (MCR)과 함께 패키징합니다. MCR은 그래픽 사용자 인터페이스없이 MATLAB 자체와 매우 유사하며 자유롭게 재배포 가능합니다.
실행 파일을 실행하면 MATLAB 코드가 Dearchives 및 Decrypts되어 MCR에 대해 실행됩니다. 결과와 속도면에서 모두 동일하게 실행되어야합니다.
아주 오래된 버전의 MATLAB Compiler (이전 버전 4.0)는 MATLAB 언어의 하위 집합을 C 코드로 변환하고이를 컴파일하는 방식이 다릅니다. 이로 인해 잠재적으로 큰 속도 향상이 가능했지만 언어의 일부만 지원되어 결과가 조심하지 않으면 때때로 달라질 수있었습니다. 비슷한 기능을 별도의 MATLAB Coder 제품에서 사용할 수 있습니다.
성능을 향상시키기 위해 수행 할 수있는 몇 가지 작은 작업이 있습니다. 예를 들어, deploytool
내에서 응용 프로그램이 사용하는 도구 상자를 지정할 수 있습니다. deploytool
은 종속성 검사기를 사용하여 코드가 종속되어 있다고 생각하는 모든 MATLAB 기능을 패키지화하지만 런타임에 코드 요구 사항이 변경 될 수 있으므로 항상 정확하게 말할 수는 없습니다. 따라서주의의 측면에서 오류가 있으며 필요한 것 이상을 포함합니다. 필요한 도구 상자 만 지정하면 작업 속도가 빨라질 수 있습니다 (빌드 프로세스의 속도도 빨라집니다).
종합적인 답변을 보내 주셔서 감사합니다. – Picarus
- 1. Python이 MATLAB보다 느리게 실행 중임
- 2. Flex AS3 : 더 작은 변수 이름이 더 긴 이름보다 빠릅니까?
- 3. gfortran은 MATLAB보다 더 천천히 난수를 생성합니까?
- 4. docker에서 더 긴 명령 실행
- 5. 엄격한 기준으로 PHP 실행 속도가 더 빠릅니까?
- 6. 어느 것이 더 빠릅니까?
- 7. 어떤 함수가 더 빠릅니까?
- 8. 튜플이나리스트가있는 string.join이 더 빠릅니까?
- 9. 왜 벡터화가 더 빠릅니까
- 10. 어떤 선택자가 더 빠릅니까?
- 11. 어느 것이 더 빠릅니까?
- 12. JavaScript로드가 더 빠릅니까?
- 13. 정적 기능이 더 빠릅니까?
- 14. 이 jquery가 더 빠릅니까?
- 15. LinkedHashMap과 TreeMap이 더 빠릅니까?
- 16. 어떤 코드가 더 빠릅니까?
- 17. 무엇이 더 빠릅니까? fifo
- 18. 더 긴 스크립트의 일부로 백그라운드에서 프로세스 실행
- 19. 어떤 하위 쿼리가 더 빠릅니까?
- 20. Numpy에서 Matlab보다 회선이 느립니까?
- 21. 더 빠르게이 작업을 수행하는 방법이 더 빠릅니까?
- 22. 첫 번째 실행 후 CPU 허프만 압축이 더 빠릅니까?
- 23. 서버리스이기 때문에 SQLite가 더 빠릅니까?
- 24. mysql, ifnull과 coalesce는 더 빠릅니까?
- 25. C++ 벡터 emplace_back이 더 빠릅니까?
- 26. 왜이 정규 표현식이 더 빠릅니까?
- 27. 어느 sql 쿼리가 더 빠릅니까?
- 28. 어떤 선택이 Sqlite에서 더 빠릅니까?
- 29. XML 용 파서가 더 빠릅니까?
- 30. 어떤 ActiveRecord 쿼리가 더 빠릅니까?
유행어가 많음에도 불구하고이 건물 과정에 대해 거의 알 수 없습니다. 나는 기본적으로 pcode를 암호화 한 파일을 만들어서 그것을 실행하는 인상을 주었다. 그래서 나는 그것이 예상된다고 말하고 싶습니다. 거의 모든 사람들이 스피드를 위해 개발 한 후에 "적절한"언어로 옮겨가는 것처럼 보입니다. – bdecaf