Cannoli

Dev tools

compiler

SHOW HN2018

292points
94comments
#92of 2,155 in 2018
Top 5%of 2018 by points

How HN took it

MixedNo clear lean

7 positive, 10 neutral or asking, 1 mixed, 3 critical, out of 21 comments about the project. Thread score +0.19.

Design: 2 for, 1 againstExecution: 1 for, 1 againstIdea: 1 for, 0 againstDocs: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Thesis is well written and readable

    From 1 comment
    • This is awesome! I definitely recommend reading through Jon's thesis (link on GitHub). It's well written and very readable even if you know nothing of Rust or compilers.
      alex_g on HN
  • Rust community and documentation praised

    From 2 comments
    • I recently finished the code for my thesis and wanted to share with you all :). The goal of the thesis was to evaluate language features of Python that were hypothesized to cause…
      joncatanio on HN
    • Hey Steve, glad to see you saw this post, now I get to personally thank you for all of your work on the Rust project. It's a really great community, it was very easy to get help…
      joncatanio on HN
  • Name and logo are fun

    From 2 comments
    • Nice work Jon! The cannoli logo is great! Spun up a quick dashboard of the project here: https://chart.ly/github-dashboard/joncatanio/cannoli Not tons of revelations there, but…
      harrisreynolds on HN
    • The name of the thesis this repo is a part of > Leave the Features: Take the Cannoli - Jonathan Catanio That's pretty good
      gabcoh on HN

Objections

  • Compiled code is unlikely to beat a JIT like PyPy

    From 2 comments
    • Compiling to machine code is not a panacea for optimization. A optimized JIT compiler is going to blow an AOT compiler out of the water. Being smart about the machine code…
      tathougies on HN
    • JITs get to analyze both code and data and optimize for each machine deployed to. A static compiler can only analyze code and the machine used for compilation. If dependencies…
      xapata on HN
  • Benchmark comparison with PyPy and CPython is unclear

    From 1 comment
    • I am aware of PyPy but have not used it myself. My understanding of PyPy is that it gains performance improvements mainly through a hotspot JIT compiler. If Cannoli compiles the…
      metalliqaz on HN

Requests

  • Compare against Nuitka or other Python compilers

    From 1 comment
    • IIRC Nuitka the other Python compiler claims better performance than PyPy. Is this just years of optimisation? http://nuitka.net/
      jimnotgym on HN

Questions

  • How do type hints affect AOT compilation speed

    From 1 comment
    • > As others have commented, AOT compilation is limited to the information available at compile time Does this mean that a AOT compiler could get a lot faster with pep 484 type…
      jimnotgym on HN
  • Why Python was chosen as the subject

    From 1 comment
  • How the borrow checker handled generated code

    From 1 comment
    • How was your experience using Rust as a target language (instead of C)? I understand that Rust has lots of features for when you want to write code by hand but do those also help…
      ufo on HN

Alternatives named

  • PyPy

    From 1 comment
    • I am aware of PyPy but have not used it myself. My understanding of PyPy is that it gains performance improvements mainly through a hotspot JIT compiler. If Cannoli compiles the…
      metalliqaz on HN
  • Nuitka

    From 1 comment
    • IIRC Nuitka the other Python compiler claims better performance than PyPy. Is this just years of optimisation? http://nuitka.net/
      jimnotgym on HN
  • Pythran

    From 1 comment
    • Yes :)! So I mention PEP 3107 (https://www.python.org/dev/peps/pep-3107/) in the thesis. This allows type annotations in the function signature. Cannoli leverages both type…
      joncatanio on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/17093051)