Abstract
High-level languages come with significant readability and maintainability benefits. Their performance costs, however, are usually not predictable, at least not easily. Programmers may accidentally use high-level features in ways that compiler writers could not anticipate, and they may thus produce underperforming programs as a result.
This paper introduces feature-specific profiling, a profiling technique that reports performance costs in terms of linguistic constructs. With a feature-specific profiler, a programmer can identify specific instances of language features that are responsible for performance problems. After explaining the architecture of our feature-specific profiler, the paper presents the evidence in support of adding feature-specific profiling to the programmer’s toolset.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Clements, J., Flatt, M., Felleisen, M.: Modeling an algebraic stepper. In: Sands, D. (ed.) ESOP 2001. LNCS, vol. 2028, pp. 320–334. Springer, Heidelberg (2001)
Clements, J., Sundaram, A., Herman, D.: Implementing continuation marks in JavaScript. In: Proc. Scheme Works., pp. 1–10 (2008)
Findler, R.B., Clements, J., Flanagan, C., Flatt, M., Krishnamurthi, S., Steckler, P., Felleisen, M.: DrScheme: A programming environment for Scheme. JFP 12(2), 159–182 (2002)
Findler, R.B., Felleisen, M.: Contracts for higher-order functions. In: Proc. ICFP, pp. 48–59 (2002)
Matthew Flatt and PLT. Reference: Racket. PLT Inc., PLT-TR-2010-1 (2010), http://racket-lang.org/tr
Garnock-Jones, T., Tobin-Hochstadt, S., Felleisen, M.: The network as a language construct. In: Shao, Z. (ed.) ESOP 2014. LNCS, vol. 8410, pp. 473–492. Springer, Heidelberg (2014)
Hauswirth, M., Sweeney, P.F., Diwan, A., Hind, M.: Vertical profiling. In: Proc. OOPSLA, pp. 251–269 (2004)
Jovic, M., Hauswirth, M.: Listener latency profiling. SCP 19(4), 1054–1072 (2011)
Maebe, J., Buytaert, D., Eeckhout, L., De Bosschere, K.: Javana: A system for building customized Java program analysis tools. In: Proc. OOPSLA, pp. 153–168 (2006)
Marlow, S., Iborra, J., Pope, B., Gill, A.: A lightweight interactive debugger for Haskell. In: Proc. Haskell Works., pp. 13–24 (2007)
McCarthy, J.: The two-state solution: native and serializable continuations accord. In: Proc. OOPSLA, pp. 567–582 (2010)
Moore, A.S., Dimoulas, C., King, D., Chong, S.: SHILL: A secure shell scripting language. In: Proc. OSDI (2014)
Morandat, F., Hill, B., Osvald, L., Vitek, J.: Evaluating the Design of the R Language. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 104–131. Springer, Heidelberg (2012)
Mytkowicz, T., Diwan, A., Hauswirth, M., Sweeney, P.F.: Evaluating the accuracy of Java profilers. In: Proc. PLDI, pp. 187–197 (2010)
Nethercote, N., Seward, J.: Valgrind: A framework for heavyweight dynamic binary instrumentation. In: Proc. PLDI, pp. 89–100 (2007)
Pettyjohn, G., Clements, J., Marshall, J., Krishnamurthi, S., Felleisen, M.: Continuations from generalized stack inspection. In: Proc. ICFP, pp. 216–227 (2005)
Singer, J., Kirkham, C.: Dynamic analysis of Java program concepts for visualization and profiling. SCP 70(2-3), 111–126 (2008)
St-Amour, V., Tobin-Hochstadt, S., Felleisen, M.: Optimization coaching: Optimizers learn to communicate with programmers. In: Proc. OOPSLA, pp. 163–178 (2012)
Strickland, T.S., Felleisen, M.: Contracts for first-class classes. In: Proc. DLS, pp. 97–112 (2010)
Strickland, T.S., Tobin-Hochstadt, S., Findler, R.B., Flatt, M.: Chaperones and impersonators. In: Proc. OOPSLA, pp. 943–962 (2012)
Tamayo, J.M., Aiken, A., Bronson, N., Sagiv, M.: Understanding the behavior of database operations under program control. In: Proc. OOPSLA, pp. 983–996 (2012)
Tobin-Hochstadt, S., Felleisen, M.: Interlanguage refactoring: From scripts to programs. In: Proc. DLS, pp. 964–974 (2006)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
St-Amour, V., Andersen, L., Felleisen, M. (2015). Feature-Specific Profiling. In: Franke, B. (eds) Compiler Construction. CC 2015. Lecture Notes in Computer Science(), vol 9031. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46663-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-662-46663-6_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46662-9
Online ISBN: 978-3-662-46663-6
eBook Packages: Computer ScienceComputer Science (R0)