Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B buck
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • buck
  • Merge requests
  • !1462

D8 support

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/kageiit/d8_support into master Aug 12, 2017
  • Overview 18
  • Commits 5
  • Pipelines 0
  • Changes 509+

Created by: kageiit

Summary

  • Ref #1459 (closed)
  • Support for D8
  • D8 source obtained from https://r8.googlesource.com/r8 (615337ac6cf167f8f242f0ac6dfd824a47beebe8)
  • Enable with a flag in android_binary rules
  dex_tool = d8

Benchmarking

Tested against https://github.com/uber/okbuck with ./gradlew :okbuck -Dokbuck.wrapper=true && buck targets --type android_binary | xargs buck build

With Dx on branch master (Has retrolambda for java 8 support)

Building: finished in 01:10.8 min (100%) 646/646 jobs, 646 updated, 97.4% cache miss

With D8 on branch test_d8 (No need for retrolambda as D8 supports desugaring out of the box)

Building: finished in 54.1 sec (100%) 612/612 jobs, 612 updated, 97.2% cache miss

Overall build Speedup: 24 %

Longest Dx Step (for io.reactivex.rxjava2.rxjava-2.1.1.jar) Dx time: 12.2 s D8 time: 8 s

Dexing step speedup: 35 %

Build locally and look at the buck trace files for more info if interested.

Binary sizes

Total size of all apks built by Dx - 22 Mb D8 - 20 Mb

Apk Size savings - 9 %

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/kageiit/d8_support