문제

현재 Android 플랫폼에 종이를 쓰고 있습니다. 일부 후 연구, Dalvik은 개선의 여지가 있음이 분명합니다. 이 목표로 개발자의 시간을 가장 잘 활용할 것이라고 생각하십니까?

JIT 컴파일은 큰 컴파일이 큰 것처럼 보이지만, 이는 이것이 낮은 리소스 머신에서 제한적인 사용이 될 것이라고 들었습니다. 누구든지 이것을 뒷받침하는 리소스 나 데이터가 있습니까?

고려해야 할 다른 옵션이 있습니까? VM을 우회하는 강력한 기본 개발 키트를 개발하는 것 외에도.

관심있는 사람들을 위해, 녹음 된 강의가 있습니다. Dalvik VM.

이 질문으로 모든 생각을 환영합니다 주관적으로 보입니다 내가 받아들이는 대답은 제안 된 변경에 대한 정당성을 가져야한다는 것을 분명히 알 수 있습니다. Sun JVM이 도입되었을 때의 개선과 같은 백업 할 데이터는 엄청난 플러스입니다.

도움이 되었습니까?

해결책

  1. 더 나은 쓰레기 수집 : 최소한의 압축 (오늘날 경험 한 메모리 파편화 문제를 제거하기 위해), 컬렉션 자체를 수행하는 데 이상적으로 CPU 집약적 ( "내 게임 프레임 속도가 빨라짐"불만을 줄이기 위해)
  2. 당신이 인용하는대로 jit
  3. NDK와 결합 할 때 충분히 미친 사람이 AOT 컴파일 옵션을 위해 Dalvik 바이트 코드를 기본 코드로 컴파일 할 수있는 충분한 문서
  4. 다른 프로젝트를 실험 할 수 있도록 Android 자체와 분리 할 수있게하고 지역 사회 기여가 더 많은 양과 빠른 클립으로 도착할 수 있습니다.

나는 당신이 필요하다면 다른 아이디어를 올릴 수 있다고 확신합니다.

다른 팁

  1. jit. 그것을 돕지 않는 것에 대한 것들은 많은 쓰레기입니다. 당신은 어떤 코드에 대해 더 선택적 일 수 있지만 1/10을 갖는 것은 항상 기본 코드의 성능이 제한 될 것입니다.

  2. 괜찮은 GC. 현대 세대 쓰레기 수집가에게는 큰 말이 없습니다.

  3. 더 나은 코드 분석. 할당/자유를 만들 필요가없는 경우, 잠금 장치 등이 많이 있습니다. 기계가 더 나은 최적화를하는 대신 깨끗한 코드를 작성할 수 있습니다.

이론적으로 대부분의 고급 언어 (Java, JavaScript, Python, ...)는 대부분의 경우 기본 코드 성능의 20% 내에 있어야합니다. 그러나 플랫폼 공급 업체는 100 대+ 개발자 인 Man Years를 소비해야합니다. Sun Java가 좋아지고 있습니다. 그들은 또한 10 년 동안 작업 해 왔습니다.

Dalvik의 주요 문제 중 하나는 공연이며, 내가 들었던 끔찍한 일이지만, 내가 가장 좋아하는 것 중 하나는 더 많은 언어를 추가하는 것입니다.

JVM에는 커뮤니티 프로젝트가 플랫폼에서 파이썬과 루비가 실행되는 커뮤니티 프로젝트를 보유하고 있으며 Scala, Groovy 및 Closure와 같은 특수 언어도 개발했습니다. Dalvik 플랫폼에서 이것들 (및/또는 다른)을 보는 것이 좋을 것입니다. Sun은 JVM의 역동적 인 타이핑 확장 인 Da Vinci Machine에서도 작업 해 왔으며, 이는 지난 15 년 동안 Sun이 뒤 따른 "한 언어에 맞는 모든"철학에서 멀리 떨어진 큰 변화를 나타냅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top