Abstract
Google’s Chrome web browser strives to deliver a smooth user experience. An animation will update the screen at 60 FPS (frames per second), giving Chrome around 16.6 milliseconds to perform the update. Within these 16.6 ms, all input events have to be processed, all animations have to be performed, and finally the frame has to be rendered. A missed deadline will result in dropped frames. These are visible to the user and degrade the user experience. Such sporadic animation artifacts are referred to here as jank. This article describes an approach implemented in the JavaScript engine V8, used by Chrome, to schedule garbage-collection pauses during times when Chrome is idle. This approach can reduce user-visible jank on real-world web pages and results in fewer dropped frames.
- Degenbaev, U., Eisinger, J., Ernst, M., McIlroy, R., Payer, H. 2016. Idle time garbage collection scheduling. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. Google ScholarDigital Library
- Degenbaev, U., Eisinger, J., Ernst, M., McIlroy, R., Payer, H. 2016. PLDI'16 Artifact: Idle time garbage collection scheduling; PLDI'16, June 13-17, 2016, Santa Barbara, CA, USA ACM. 978-1-4503-4261-2/16/06, pages 570-583. https://goo.gl/AxvigS. Google ScholarDigital Library
- Google Inc. The RAIL performance model; http://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/rail.Google Scholar
- Kalibera, T., Pizlo, F., Hosking, A. L., Vitek, J. 2011. Scheduling real-time garbage collection on uniprocessors. ACM Transactions on Computer Systems 29(3): 8:1-8:29. Google ScholarDigital Library
- McIlroy. R. 2016. Cooperative scheduling of background tasks. W3C editor's draft; https://w3c.github.io/requestidlecallback/.Google Scholar
- Ungar, D. 1984. Generation scavenging: a nondisruptive high-performance storage reclamation algorithm. In Proceedings of the 1st ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (SDE 1). Google ScholarDigital Library
Index Terms
- Idle-Time Garbage-Collection Scheduling: Taking advantage of idleness to reduce dropped frames and memory consumption
Recommendations
Idle time garbage collection scheduling
PLDI '16Efficient garbage collection is increasingly important in today's managed language runtime systems that demand low latency, low memory consumption, and high throughput. Garbage collection may pause the application for many milliseconds to identify live ...
Idle-time garbage-collection scheduling
Taking advantage of idleness to reduce dropped frames and memory consumption.
Idle time garbage collection scheduling
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationEfficient garbage collection is increasingly important in today's managed language runtime systems that demand low latency, low memory consumption, and high throughput. Garbage collection may pause the application for many milliseconds to identify live ...
Comments