Cannoli
Dev tools
compiler
SHOW HN2018
How HN took it
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 HNHey 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 HNThe 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 HNJITs 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
Interesting project... Why python, out of curiosity?
tathougies on HN
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