최근에 살펴본 여러 데이터베이스는 각각의 데이터 읽기 및 쓰기를 수행하기 위해 내부적으로 가상 컴퓨터를 구현합니다. 예를 들어, this article on SQLite's virtual machine they call the 'VDBE'을 확인하십시오. 그런 건축물의 장점이 무엇인지 궁금합니다. 나는 성능이 하나라고 생각 하겠지만 왜 이런 가상 머신이 더 빨리 돌아갈 것입니까? 실제로이 여분의 레이어로 인해 더 느리게 실행될 수 있습니다. 보안을위한 것일 수도 있습니다. 아니면 이식성? 어쨌든, 이것에 대해서 궁금해.응용 프로그램의 일부로 가상 컴퓨터를 구현하면 얻을 수있는 주요 이점은 무엇입니까?
1
A
답변
1
이동성을 잃지 않고 속도를 수용 할 수있는 "어셈블리와 같은"수준에서 작업을 수행합니다. 가상 머신을 제공하여 균형 잡힌 트레이드 오프를 제공한다고 생각합니다. 높은 수준의 코드 (SQL 코드 **)를 높은 수준의 언어로 실행하면 속도가 떨어지나 편리함을 얻을 수 있습니다. 다른 방법은 해석 된 것보다 훨씬 빠르게 실행될 플랫폼 고유 (네이티브) 코드를 생성하는 것이지만 ANSI-C가있는 곳에서 실행되는 광범위한 라이브러리에 대한 많은 번거 로움입니다.
** 물론 SQL 코드 일 필요는 없습니다. I 은 명령형 표현이 실행에 훨씬 적합하다고 생각합니다. 어쨌든, 그 표현은 여전히 "opcode"에 비해 매우 높은 수준의 표현입니다.
관련 문제
- 1. Vala 개발의 주요 이점은 무엇입니까?
- 2. Linux에서 Java를 실행하면 얻을 수있는 이점은 무엇입니까?
- 3. Django의 라이브러리를 응용 프로그램으로 변환하면 얻을 수있는 이점은 무엇입니까?
- 4. RIA Services의 주요 기능/이점은 무엇입니까?
- 5. 직접 대면하는 프로젝트 리뷰의 주요 이점은 무엇입니까?
- 6. NHibernate의 버전 관리 기능의 주요 이점은 무엇입니까?
- 7. jQuery 1.5의 jqXHR의 주요 이점은 무엇입니까?
- 8. DI 외에도 IoC 컨테이너에서 얻을 수있는 이점은 무엇입니까?
- 9. 게임 개발자로서 새로운 언어를 배우면 얻을 수있는 이점은 무엇입니까?
- 10. 함수 프로그래밍 언어에서 Objects를 사용하면 얻을 수있는 이점은 무엇입니까?
- 11. Hypervisor VM의 이점은 무엇입니까?
- 12. MS Word를 응용 프로그램의 일부로 재배포하십시오.
- 13. Silverlight 응용 프로그램의 일부로 COM dll 배포
- 14. VMWare에서 VirtualBox로 가상 컴퓨터를 이식하는 방법은 무엇입니까?
- 15. 가상 컴퓨터를 벤치 마크하는 방법
- 16. PHP와 CODEIGNITOR에 대한 RUBY와 RAILS의 주요 이점은 무엇입니까
- 17. 스크립팅 언어로 DLR로 전환 할 때의 주요 이점은 무엇입니까?
- 18. 응용 프로그램의 가상 네트워크를 만드는 방법
- 19. 응용 프로그램의 도메인 또는 코어의 일부로 범주가 존재하는시기는 언제입니까?
- 20. android - 응용 프로그램의 주요 활동 이름을 찾는 방법은 무엇입니까?
- 21. 파이썬 파일 자체를 가져올 수있는 이점은 무엇입니까
- 22. asp.net 웹 응용 프로그램의 일부로 어떤 종류의 제어판을 빌드하여 모니터합니까?
- 23. Windows Azure 가상 응용 프로그램의 파일을 무시하십시오.
- 24. 웹 응용 프로그램의 접합점 또는 가상 디렉토리?
- 25. PHP의 ArrayAccess 인터페이스의 이점은 무엇입니까?
- 26. JCA의 이점은 무엇입니까?
- 27. ISAPI 필터에서 IIS 응용 프로그램의 가상 경로를 확인하는 방법은 무엇입니까?
- 28. WCF에서 WSDualHttpBinding의 이점은 무엇입니까?
- 29. C++ 응용 프로그램 기능으로 컴퓨터를 켤 수있는 방법이 있습니까?
- 30. POJO 및 정적 메서드 대신 Stateless Bean 및 DI를 사용하면 얻을 수있는 이점은 무엇입니까
그러나 VM 모델을 사용하면 왜 속도가 향상 될까요? – Marplesoft
@Marplesoft : 주로 소스 언어와 그 의미 (SQLite의 경우 SQL)를 분석하는 데 필요한 시간을 절약하기 때문에. 소스 언어를 VM 바이트 코드로 옮기는 컴파일러는 일부 최적화를 포함하여 많은 작업을 수행합니다. 남은 것은 결과 바이트 코드를 최대한 빨리 실행하는 것입니다. –