7장의 코루틴을 사용한 구현을 보았다.
코드 복잡성 | 리소스 소비 | |
---|---|---|
동기 | 매우 낮음. | 느린 퍼포먼스로 매우 낮은 자원 소모 |
콜백 | 매우 높은 어댑터 필요 | 높음. |
복제 예상 | 공유 Executor를 사용하면 나아지지만 코드 복잡성 증가 | |
콜백 중첩 시 가독성 낮음 | ||
등등 | ||
퓨처 | 중간. | 높음. |
Executor와 get()을 사용하면 조금 불편하지만 괜찮음. | Executor로 세부 조정 가능하지만 코드 복잡성 증가 | |
프로미스 | 프로미스 스타일(then, success) 사용 시 중간 | 매우 높음. |
퓨처 스타일(get)을 사용하면 성능 영향 없이 코루틴 만큼 좋아짐. | 최고의 퍼포먼스를 갖지만 코드 변경 없이 미세 조정 가능 | |
코루틴 | 낮음. | 낮음. |
비동기 작업을 위한 명시적 블록을 사용하는 비동기 스타일과 비슷 | 최상의 성능 |
2장의 정리를 마쳤다. 구체적인 내용은 CS with Kotlin/Android 시리즈 참고.