Skip to footer
Home Authors Posts by Raj Barik

Raj Barik

Raj Barik is a programming systems research scientist and technical manager on Uber's Programming Systems team. He currently works on building tools for understanding performance anomalies in data centers, including developing static analysis and transformation tools for Swift and Go. In the past, he has worked on optimizing compilers and runtime systems.

Engineering Blog Articles

How Uber Deals with Large iOS App Size


The App Size Problem

Uber’s iOS mobile Apps for Rider, Driver, and Eats are large in size. The choice of Swift as our primary programming language, our fast-paced development environment and feature additions, layered software and its dependencies, and statically

Research Papers

Optimization of Swift Protocols

R. Barik, M. Sridharan, M. K. Ramanathan, M. Chabbi
Swift, an increasingly-popular programming language, advocates the use of protocols, which define a set of required methods and properties for conforming types. Protocols are commonly used in Swift programs for abstracting away implementation details; e.g., in a large industrial app from Uber, they are heavily used to enable mock objects for unit testing. Unfortunately, heavy use of protocols can result in significant performance overhead. [...] [PDF]
Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), 2019