105 lines
7.8 KiB
HTML
105 lines
7.8 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<title>CLiki: Performance</title>
|
||
|
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
|
||
|
href="https://www.cliki.net/site/feed/article.atom?title=Performance">
|
||
|
<link rel="stylesheet" href="static/css/style.css">
|
||
|
<link rel="stylesheet" href="static/css/colorize.css">
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<span class="hidden">CLiki - Performance</span>
|
||
|
<div id="content"><div id="content-area"><div id="article-title">Performance</div><div id="article">Performance is either the subject of programmer performance (speed and quality of programming) or program performance (speed and quality of execution (or of compilation when the program under consideration is a compiler)).<p><h2>Programmer Performance</h2><p>Papers about various studies comparing programmer/language performance:<p><ul>
|
||
|
<li>
|
||
|
<a href="http://web.cecs.pdx.edu/~apt/cs457_2005/hudak-jones.pdf">Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software Prototyping Productivity</a>, P. Hudak, Mark P. Jones, Yale University.<p></li>
|
||
|
<li>
|
||
|
<a href="http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprtTR.pdf">An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program</a>, Lutz Prechelt, Technical Report 2000-5<p></li>
|
||
|
<li>
|
||
|
<a href="http://www.flownet.com/gat/papers/lisp-java.pdf">Lisp as an Alternative to Java</a>, Erann Gat, Winter 2000 · <cite>intelligence</cite><p></li>
|
||
|
<li>
|
||
|
<a href="http://www.foldr.org/~michaelw/log/programming/lisp/icfp-contest-2006-vm">ICFP 2006 VM in Common Lisp</a>, run-time within 20% of C implementations (but quite a bit shorter) by adding a few declarations.<p></li>
|
||
|
<li>
|
||
|
<a href="http://www.findinglisp.com/papers/case_study_java_lisp_dns.html">
|
||
|
DNS Message Decoding - A Case Study Comparing Java and Common Lisp</a> by Dave Roberts.<p></li>
|
||
|
<li>
|
||
|
<a href="https://courses.cs.washington.edu/courses/cse590n/10au/hanenberg-oopsla2010.pdf">An Experiment About Static and Dynamic Type Systems</a> Doubts about the positive impact of static type systems on development time.<p></li>
|
||
|
<li>
|
||
|
<a href="https://docs.google.com/file/d/0B5C1aVVb3qRONVhiNDBiNUw0am8/edit?pli=1">A Quantitative Analysis Of Whether Unit Testing Obviates Static Type Checking For Error Detection</a> Evan R. Farrer's Master thesis (<a href="http://evanfarrer.blogspot.com/2012/06/unit-testing-isnt-enough-you-need.html">summary</a>).<p></li>
|
||
|
<li><a href="https://danluu.com/empirical-pl/">The Empirical Evidence That Types Affect Productivity and Correctness</a></li><p><li><a href="https://smalltalkrenaissance.wordpress.com/2015/02/16/smalltalks-proven-productivity/">Smalltalk's proven productivity</a></li>
|
||
|
</ul><p>In summary, the experiences tend to show that with <a href="lisp.html" class="category">lisp</a> you get faster development times, at least as fast execution times, and less variance amongst developers (so there's less risk in using lisp than other programming languages).<p><h2>Program Performance</h2><p><ul>
|
||
|
<li>
|
||
|
<a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.217.707&rep=rep1&type=pdf">CLOS efficiency: Instantiation (on the Behavior and Performance of Lisp, Part
|
||
|
2.1)</a>,
|
||
|
Didier Verna, EPITA Research and Development Laboratory (LRDE).<p></li>
|
||
|
<li>
|
||
|
<a href="http://www2.hawaii.edu/~nreed/ics313/lectures/Verma06BeatingC.pdf">Beating C in Scientific Computing Applications (on the Behavior and Performance of Lisp, Part 1)</a>,
|
||
|
Didier Verna, EPITA Research and Development Laboratory (LRDE).<p></li>
|
||
|
<li>
|
||
|
<a href="https://dl.acm.org/doi/10.1145/1143997.1144168">When lisp is faster than C</a>, Børge Svingen, Genetic And Evolutionary Computation Conference archive, Proceedings of the 8th annual conference on Genetic and evolutionary computation. <a href="http://gpbib.cs.ucl.ac.uk/gecco2006/docs/p957.pdf">PDF</a><p></li>
|
||
|
<li>
|
||
|
<a href="https://www.cs.utexas.edu/users/novak/lispeff.html">Novak's Lisp Style and Efficiency</a>.<p></li>
|
||
|
<li>
|
||
|
<a href="http://john.freml.in/teepeedee2-c10k">teepeedee2 achieves 10k requests/second</a>.<p></li>
|
||
|
<li>
|
||
|
<a href="https://www.codeproject.com/Articles/340797/Number-crunching-Why-you-should-never-ever-EVER-us?display=Print">Number crunching: Why you should never, ever, EVER use linked-list in your code again</a>. Just for number crunching. ⇒ Use (coerce list 'vector).<p></li>
|
||
|
<li><a href="http://far.chickenkiller.com/posts/cpp-vs-common-lisp-performance.html">C++ vs Common Lisp performance</a></li><p></ul>
|
||
|
<h2>Lisp Performance</h2><p>See <a href="benchmark.html" class="internal">benchmark</a> for programs trying to measure the performance of Lisp systems.<p>In the "program quality" aspect of things:<p><ul>
|
||
|
<li>
|
||
|
<a href="https://ai.googleblog.com/2006/06/extra-extra-read-all-about-it-nearly.html">Extra, Extra - Read All About It: Nearly All Binary Searches and Mergesorts are Broken</a>.<p></li>
|
||
|
<li>
|
||
|
<a href="https://github.com/fukamachi/fast-http">https://github.com/fukamachi/fast-http</a> is 5.5% faster than http-parser, a C library.</li>
|
||
|
</ul>
|
||
|
and numerous other pitfalls in programs written in "normal" programming languages.<p>That should give a lot of reasons to use CL.<p><h2>Algorithm and Algorithm Implementation Performance</h2>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<a href="https://schani.wordpress.com/2010/04/30/linear-vs-binary-search/">Linear vs. Binary Search</a>.</li>
|
||
|
</ul><p><h2>Energy Performance</h2>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<a href="https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf">Energy Efficiency across Programming Languages</a>.</li>
|
||
|
</ul><p><h2>Related</h2>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<a href="https://blog.vivekhaldar.com/post/3339907908/the-cognitive-style-of-unix">The cognitive Style of Unix</a>.</li>
|
||
|
<li>
|
||
|
<a href="https://www.youtube.com/watch?v=UGhfB-NICzg">NeXT vs. Sun video</a>.</li>
|
||
|
</ul></div></div>
|
||
|
<div id="footer" class="buttonbar"><ul><li><a href="Performance.html">Current version</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/history?article=Performance">History</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/backlinks?article=Performance">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=Performance&from-revision=3802657510">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
|
||
|
</div>
|
||
|
<div id="header-buttons" class="buttonbar">
|
||
|
<ul>
|
||
|
<li><a href="https://www.cliki.net/">Home</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
|
||
|
<li><a href="CLiki.html">About</a></li>
|
||
|
<li><a href="Text Formatting.html">Text Formatting</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
|
||
|
</ul>
|
||
|
<div id="search">
|
||
|
<form action="https://www.cliki.net/site/search">
|
||
|
<label for="search_query" class="hidden">Search CLiki</label>
|
||
|
<input type="text" name="query" id="search_query" value="" />
|
||
|
<input type="submit" value="search" />
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="pageheader">
|
||
|
<div id="header">
|
||
|
<span id="logo">CLiki</span>
|
||
|
<span id="slogan">the common lisp wiki</span>
|
||
|
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
|
||
|
<label for="login_name" class="hidden">Account name</label>
|
||
|
<input type="text" name="name" id="login_name" class="login_input" />
|
||
|
<label for= "login_password" class="hidden">Password</label>
|
||
|
<input type="password" name="password" id="login_password" class="login_input" />
|
||
|
<input type="submit" name="login" value="login" id="login_submit" /><br />
|
||
|
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
|
||
|
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body></html>
|