ORM Benchmark

2429 단어 OrmaAndroidbenchmark
Android의 ORM 라이브러리 성능 테스트 결과
  • Github
  • Google Play
  • 최근 작업상의 이유로 실장에 대한 성능 향상 대책 전후도 실었다.
    이 가운데 리얼엠도 대응할 예정이지만 당분간Orma(v4.2.0)만 하고 있다.

    결론


    오르마 폭속.
    그냥 리스트화되고 여러 장의 테이블에 걸쳐 있는 Column 값을 봐요.
    리스트와 합계치 등을 만들 때는 공을 들여야 한다.
    또 이 수단도 준비됐다.

    측정 결과


    INSERT


    Column은 15개 정도 있어요. 인서트 10000개 있어요.
    Library
    Total
    Average
    (PureAndroid)
    139273ms
    13.93ms
    Orma
    34072ms
    3.41ms

    UPDATE


    10000개 UPDATE(외부 키 ID 임의 변경)
    Library
    Total
    Average
    (PureAndroid)
    105389ms
    10.54ms
    Orma
    32892ms
    3.28ms
    아, 이거 의외다.
    콘텐츠밸류스에게 최소한만 주는 퓨어 안드로이드가 이길 줄 알았는데 오르마가 압승을 거뒀다.

    DELETE(10000개)


    10000개 디에잇.
    Library
    Total
    Average
    (PureAndroid)
    108290ms
    10.83ms
    Orma
    26672
    2.67ms
    오르마가 어떻게 하는지 모르겠지만 퓨어안드로이드는 테이블이 삭제한 뒤 만든 것이다.

    DELETE


    60000개 DELETE
    Library
    Total
    (PureAndroid)
    66ms
    Orma
    563ms
    오르마가 어떻게 하는지 모르겠지만 퓨어안드로이드는 테이블이 삭제한 뒤 만든 것이다.

    외부 테이블 참조 SUM


    Event 테이블에 외부 키워드 Product가 있는 경우
    Product의 Proice는 500엔 이상 이벤트가 보유한 퀀티티의 합계를 산출했다.
    DB마다 다르고 테스트 환경이 다릅니다. 이 표를 가로로 보십시오.
    Library
    SIMPLE
    FASTER
    (PureAndroid)
    1421ms
    18ms
    Orma
    712ms
    41ms
    단순한 방법일 뿐 빨라질 수 있다는 걸 보여드리고 싶어요.
    Query 발행 횟수를 줄이고 데이터 클래스를 대상화하지 않음
    하면 거의 빨라져요.
    SIMPLE: 데이터 클래스를 개체화합니다.쉽게 읽을 수 있지만 재미있어요!!
    FASTER: 읽기는 어렵지만 성능이 아주 좋아요.

    구글 플레이QR 코드


    앱으로 확인하고 싶은 사람은 이쪽부터 시작하세요.

    링크

  • Github
  • Google Play
  • Orma ORM 라이브러리
  • 좋은 웹페이지 즐겨찾기