Aditya KumarSenior Software Engineer at Snapchat
Aditya Kumar is a senior software engineer at Snap Inc. and Distinguished speaker at ACM. He has been working on compiler toolchains (LLVM,Clang and GCC) since 2012. He has contributed optimizations like GVNHoist, Hot Cold Splitting, Hexagon specific optimizations to the LLVM compiler; He has also worked partially on clang static analyzer, libcxx, libstdc++, and graphite framework of GCC.
He has keen interest in compiler and algorithmic optimizations. He regularly presents at the llvm developers conference and serve as program chair of llvm-workshop at CGO. He works on several aspects of performance optimizations and software engineering at Snap. He has previously worked at Facebook, Samsung, and Qualcomm.
App Startup compiler optimizations and techniques for embedded systems
Launch time of embedded applications has been a concern for a very long time. It has become more important with mobile apps as startup slows down with feature additions.
For many mobile applications, launch time test users patience. While smartphones are becoming faster, developers find creative ways to regress startup time by adding features or unnecessary software engineering.
Optimizing for launch time is a little different than optimizing purely for code size or for performance. Some code size optimizations help startup and so does many redundancy elimination optimizations. In this presentation I'll discuss about program instrumentation techniques to get insights into application launch time. I'll share measurement techniques to get insights into different parts of application startup. I'll talk about compiler optimizations that help application launch time. I'll also present other methodologies to improve startup time like order file generation, removing static initializers etc.