tag:blogger.com,1999:blog-17087850.post2177055053070299407..comments2023-10-31T06:50:41.697-04:00Comments on Factor: a practical stack language: Comparing Factor's performance against V8, LuaJIT, SBCL, and CPythonSlava Pestovhttp://www.blogger.com/profile/02768382790667979877noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-17087850.post-7573171828820443042010-09-04T14:04:06.866-04:002010-09-04T14:04:06.866-04:00the links to the javascript program implementation...the links to the javascript program implementations are several links to the several-years-old editions; some are much-improved since then. This makes me wonder whether your test used these older/slower editions.Matthew Wilsonhttps://www.blogger.com/profile/01484535508095774859noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-37850281345650823372010-05-31T11:36:18.919-04:002010-05-31T11:36:18.919-04:00> can be found at the language benchmark game C...> can be found at the language benchmark game CVS repository<br /><br />The column headings seem to have gotten mixed up - they don't match the languages linked to in the cells.<br /><br />Maybe some redundancy could be removed from the table - the column of benchmark names?<br /><br /><br />> Benchmark results<br /><br />The table contents seem completely disorganised.<br /><br />Easier to read if there's some order imposed:<br /><br />- pick a language, and sort the benchmark rows on the time taken for that language<br />- pick the benchmark program that took the longest or shortest time for that language, and sort the language cols on the time taken for that benchmarkIsaac Gouyhttps://www.blogger.com/profile/02902123247585964087noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-81274319786109884062010-05-31T11:22:47.208-04:002010-05-31T11:22:47.208-04:00This comment has been removed by the author.Isaac Gouyhttps://www.blogger.com/profile/02902123247585964087noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-35027036262987103142010-05-29T20:10:46.640-04:002010-05-29T20:10:46.640-04:00This comment has been removed by the author.Isaac Gouyhttps://www.blogger.com/profile/02902123247585964087noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-13289876883051961542010-05-29T17:22:54.812-04:002010-05-29T17:22:54.812-04:00multiprocessing in Python? For what? O_omultiprocessing in Python? For what? O_oAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-17087850.post-24955190175998772622010-05-29T12:18:52.448-04:002010-05-29T12:18:52.448-04:00> Implementations for the other languages can b...> <i>Implementations for the other languages can be found at ...</i><br /><br />The benchmarks game website often shows more than one program per language per benchmark - how is anyone to know which programs you timed?Isaac Gouyhttps://www.blogger.com/profile/02902123247585964087noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-4541679699129556892010-05-29T12:10:49.877-04:002010-05-29T12:10:49.877-04:00> For Python, I precompiled each script into by...> <i>For Python, I precompiled each script into bytecode first</i> <br /><br />Did you check if doing so gave faster or slower timings?Isaac Gouyhttps://www.blogger.com/profile/02902123247585964087noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-88683697699186182002010-05-29T11:57:22.530-04:002010-05-29T11:57:22.530-04:00"computer language shootout"
Please use..."computer language shootout"<br /><br />Please use the title shown on the website - The Computer Language Benchmarks GameIsaac Gouyhttps://www.blogger.com/profile/02902123247585964087noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-69733032159792576242010-05-29T11:40:43.719-04:002010-05-29T11:40:43.719-04:00Hey. Can you make clear in your comparison that yo...Hey. Can you make clear in your comparison that you're comparing CPython and not Python? (Python is a language, CPython is an actual VM).<br /><br />Also, you don't need a debian package of factor to deploy it on computer language shootout.Maciej Fijalkowskihttps://www.blogger.com/profile/11410841070239382771noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-76971336159932992062010-05-29T11:11:03.753-04:002010-05-29T11:11:03.753-04:00Maybe you should use proper statistics rather than...Maybe you should use proper statistics rather than taking the fastest time possible. Like run it enough times to do a t-test to show the significance of the difference between measurements.<br /><br />You say you're the world's greatest systems programmer, but all you academics know how to do is prove academic theorems about the module substructure over nilpotent Lie algebras, and even then you can't manage to generalize it past the two-step case. Your method fails to scale, because in the real world, nilpotent Lie algebras can take as many as ten steps to get to zero. Just like your statistics.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17087850.post-38771131013535302642010-05-29T09:55:54.651-04:002010-05-29T09:55:54.651-04:00Ouch. I just looked at the nbody benchmark sources...Ouch. I just looked at the nbody benchmark sources. <br /><br />Please correct me if I am wrong: you are declaring a structure there with typed fields while other dynamic languages use dictionaries to store bodies?Anonymoushttps://www.blogger.com/profile/13164706078167130240noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-54908457396117060262010-05-29T09:35:44.926-04:002010-05-29T09:35:44.926-04:00Pretty much meaningless comparison.
Out of curio...Pretty much meaningless comparison. <br /><br />Out of curiosity I took a look at spectral-norm written in Factor at noticed [as soon as my eyes adopted to it] that you are using unboxed arrays (I would not be surprised if compiler had a special support for such arrays). The same is probably true for tuples used in binary-trees benchmark. It appears that you are giving hits to the JIT [I interpret ; inline things like hints, maybe I am wrong] <br /><br />It also seems to me that Factor itself has a simpler and stricter scoping rules if compared to other JavaScript, Python or (probably) even Lua. <br /><br />Given all this tricks in the sleeve and given semantic differences it would be just surprising to see slower execution.Anonymoushttps://www.blogger.com/profile/13164706078167130240noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-36637953179195479722010-05-29T08:01:53.669-04:002010-05-29T08:01:53.669-04:00Perhaps include a pypy comparison (but you already...Perhaps include a pypy comparison (but you already have python which I guess is more meaningful)?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17087850.post-41419399569164216772010-05-29T06:51:58.747-04:002010-05-29T06:51:58.747-04:00Odd. When I last hacked on the spectral-norm imple...Odd. When I last hacked on the spectral-norm implementation for SBCL, it was tying with C, Fortran, and all the rest of those in performance. That was close to two years ago; perhaps there's been some regression in the compiler.Andy Hefnernoreply@blogger.comtag:blogger.com,1999:blog-17087850.post-84836316827451494872010-05-29T05:09:26.556-04:002010-05-29T05:09:26.556-04:00dh: good point. I will run the benchmarks in Pytho...dh: good point. I will run the benchmarks in Python tomorrow and update this blog post.Slava Pestovhttps://www.blogger.com/profile/02768382790667979877noreply@blogger.comtag:blogger.com,1999:blog-17087850.post-31650194227700912832010-05-29T05:06:43.134-04:002010-05-29T05:06:43.134-04:00For DLS2010, some might be interested to see a per...For DLS2010, some might be interested to see a performance comparison with Ruby and/or Python. Any data on those?dhhttps://www.blogger.com/profile/14802254686725596321noreply@blogger.com