pith. machine review for the scientific record. sign in

arxiv: 1406.6631 · v2 · submitted 2014-06-25 · 💻 cs.PL

Recognition: unknown

Clash of the Lambdas

Authors on Pith no claims yet
classification 💻 cs.PL
keywords javalambdasevaluatelanguageslinuxoptimizingperformancescala
0
0 comments X
read the original abstract

The introduction of lambdas in Java 8 completes the slate of statically-typed, mainstream languages with both object-oriented and functional features. The main motivation for lambdas in Java has been to facilitate stream-based declarative APIs, and, therefore, easier parallelism. In this paper, we evaluate the performance impact of lambda abstraction employed in stream processing, for a variety of high-level languages that run on a virtual machine (C#, F#, Java and Scala) and runtime platforms (JVM on Linux and Windows, .NET CLR for Windows, Mono for Linux). Furthermore, we evaluate the performance gain that two optimizing libraries (ScalaBlitz and LinqOptimizer) can offer for C#, F# and Scala. Our study is based on small-scale throughput-benchmarking, with significant care to isolate different factors, consult experts on the systems involved, and identify causes and opportunities. We find that Java exhibits high implementation maturity, which is a dominant factor in benchmarks. At the same time, optimizing frameworks can be highly effective for common query patterns.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Compile-Time Java Stream Fusion via mapMulti

    cs.PL 2026-05 conditional novelty 7.0

    A new Java bytecode optimizer fuses map and filter into mapMulti to reduce stream overhead, sidestepping Streamliner's restrictions and delivering superior results in two of nine benchmarks while passing all 31,799 Ka...