Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'heavily': 0.04; 'languages.': 0.04; 'static': 0.04; 'yet.': 0.04; 'python)': 0.05; 'true,': 0.05; 'subject:Python': 0.06; '21,': 0.07; 'compiler': 0.07; 'intermediate': 0.07; 'pypy': 0.07; 'okay': 0.09; 'optimizing': 0.09; 'run,': 0.09; 'statements': 0.09; 'wrong,': 0.09; 'bytecode': 0.16; 'compilation,': 0.16; 'janssen': 0.16; 'mark,': 0.16; 'runtime.': 0.16; 'sure.': 0.16; 'swearing.': 0.16; 'all.': 0.16; 'do,': 0.16; 'language': 0.16; 'sender:addr:gmail.com': 0.17; 'wrote:': 0.18; '(not': 0.18; 'first.': 0.19; 'work,': 0.20; 'seems': 0.21; 'machine': 0.22; '>>>': 0.22; 'saying': 0.22; 'header:User-Agent:1': 0.23; "aren't": 0.24; 'compilation': 0.24; 'instead.': 0.24; 'java': 0.24; 'mon,': 0.24; "haven't": 0.24; 'compiled': 0.26; 'post': 0.26; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'to:2**1': 0.27; 'am,': 0.29; 'generally': 0.29; "doesn't": 0.30; 'statement': 0.30; 'code': 0.31; '-0700,': 0.31; '>>>>': 0.31; 'about.': 0.31; "d'aprano": 0.31; 'purely': 0.31; 'steven': 0.31; 'subject:end': 0.31; 'languages': 0.32; 'option': 0.32; 'says': 0.33; '(i.e.': 0.33; 'computer.': 0.33; 'could': 0.34; 'received:209.85': 0.35; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'really': 0.36; 'doubt': 0.36; 'event,': 0.36; 'surely': 0.36; 'doing': 0.36; 'wrong': 0.37; 'project': 0.37; 'received:209': 0.37; 'easily': 0.37; 'performance': 0.37; 'ahead': 0.38; 'massive': 0.38; 'work?': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'that,': 0.38; 'generating': 0.39; 'supporting': 0.39; 'to:addr:python.org': 0.39; 'how': 0.40; 'skip:u 10': 0.60; 'read': 0.60; 'tell': 0.60; 'no.': 0.61; 'simply': 0.61; 'discuss': 0.62; "you've": 0.63; 'information': 0.63; 'more': 0.64; 'different': 0.65; 'great': 0.65; 'to:addr:gmail.com': 0.65; 'believe': 0.68; 'benefit': 0.68; 'anything.': 0.68; 'design.': 0.68; 'optimized': 0.68; 'computers': 0.72; 'attacks.': 0.84; 'believe,': 0.84; 'disagreement': 0.84; 'experiment': 0.84; 'gains': 0.84; 'ultimate': 0.93; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=4Le4GYMydgj9/auCcbJ2DZGUt+IaM9ZzZY+MkvDwDyI=; b=x4gSqyN4B4v2c72m5fpaTiEMpg5goHoCp6jCdRc4IcL9ubK+o5Ldt4xOt/7XYquldY tW7EVq9GRq7Z/UIV3OZ6CB2sZz/XyOqJM6fgr4dre+P6f/9fEv/f+pdF5PulGQYjL1jL QDCdPVVOjNP+UZugBURo9TazUn8UOI7Z1EjmCA2ssY8CBAGjs0WR+yJKVf60Ml5dIbdR 8RvGgHjHxHvChrogHj+OvPYmEqSZ5aMQ3tEcRz52Zs5X25O1/UmeeFwvaimqAVEH9Enh SQ4TLJGTSGR7EQ/Z8w1bnIaMMuUg4Bpwp/NuDFY0gaFmqxuUegNVRSH1ngloTAzRw0oY el3Q== X-Received: by 10.236.121.144 with SMTP id r16mr2584218yhh.64.1382387377637; Mon, 21 Oct 2013 13:29:37 -0700 (PDT) Sender: Ned Batchelder Date: Mon, 21 Oct 2013 16:29:36 -0400 From: Ned Batchelder User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: python-list@python.org, Mark Janssen Subject: Re: Python Front-end to GCC References: <4012031f-5334-4be8-a673-e0d8c8917fb2@googlegroups.com> <5264dbbe$0$30000$c3e8da3$5496439d@news.astraweb.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 62 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1382387395 news.xs4all.nl 15969 [2001:888:2000:d::a6]:33132 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:57205 On 10/21/13 4:14 PM, Mark Janssen wrote: > On Mon, Oct 21, 2013 at 12:46 AM, Steven D'Aprano wrote: >> On Sun, 20 Oct 2013 20:35:03 -0700, Mark Janssen wrote: >> >> [Attribution to the original post has been lost] >>>> Is a jit implementation of a language (not just python) better than >>>> traditional ahead of time compilation. >>> Not at all. The value of jit compilation, I believe, is purely for the >>> dynamic functionality that it allows. AOT compilation will never allow >>> that, but in return you get massive performance and runtime-size gains >> On the contrary, you have that backwards. An optimizing JIT compiler can >> often produce much more efficient, heavily optimized code than a static >> AOT compiler, > This is horseshit. Surely we can discuss this without resorting to swearing. >> and at the very least they can optimize different things >> than a static compiler can. > Okay sure. But now you've watered down your claim that's it's not > saying much of anything. > >> This is why very few people think that, in >> the long run, Nuitka can be as fast as PyPy, and why PyPy's ultimate aim >> to be "faster than C" is not moonbeams: > It is moonbeams, but that's a good thing. I think you don't > understand how computers work, Steven. I think Steven has earned the benefit of the doubt when it comes to understanding computer. Did you read the links he provided? Do you believe that author also doesn't understand how computers work? Mark, disagreement doesn't have to lead to ad-hominem attacks. If you think Steven is wrong about what JIT compilers can do, please explain. Simply calling his statements horseshit and saying he doesn't understand computers is not a rebuttal. > In any event, PyPy is a great project for those who want experiment > with compiler and language design. > >> JIT compilation is really about optimization, > No. Please tell us what JIT compilation is about. > >> which is why languages like >> Java and .NET which could easily be compiled to machine code at compile >> time generally use an intermediate bytecode and a JIT compiler instead. >> They're not doing it for dynamism since they aren't dynamic languages. >> It's a way of generating more aggressive (i.e. better but harder) >> optimizations based on information only available at runtime. > This must is true, but not for reasons you understand. > Again, a statement with no supporting information. *sigh* If someone says something that seems wrong to you, there are a number of possibilities: 1) you are wrong, 2) they are wrong, or 3) you haven't understood each other yet. Please have the humility to at least consider option 3 first. --Ned.