Video details

Programming Best Practices: Memory Efficiency with Closures

10.04.2017 at Node.js Interactive


Gireesh Punathil (IBM)

Memory Leaks leading to undesired growth and exhaustion of memory are by far the most common production problem reported on enterprise scale Node applications. Closures, a powerful semantic feature in functional programs which are used pervasively in Node.js/Javascript programs to support their asynchronous and event driven programming model, are a prominent source of unanticipated memory leaks. In this presentation, I will explain three of the most common use cases where Closures are used in Node. For each of the use cases, I will explain a) sample code, b) the life-span of the Closure context and which variables the closure keeps live, iii) what memory will be retained during the life-span of the Closure.
Gireesh Punathil is a Software developer with IBM India Software Labs. In his 14 years of professional career he has been porting, developing and debugging web servers, virtual machines and compilers. His expertise is in problem isolation and determination of large and complex software modules. He has spoken at JavaOne and few Node conferences. He does not possess personal affinity towards specific languages or platforms, instead is passionate about how the compilers and language runtimes interplay between high level semantics and the underlying hardware.