truffleruby
ChezScheme
truffleruby | ChezScheme | |
---|---|---|
25 | 27 | |
2,963 | 6,849 | |
0.1% | 0.3% | |
9.9 | 9.0 | |
4 days ago | 6 days ago | |
Ruby | Scheme | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
truffleruby
- TruffleRuby 24.0.0
-
Mir: Strongly typed IR to implement fast and lightweight interpreters and JITs
I think it would be worth mentioning GraalVM and https://github.com/oracle/truffleruby in competitors section.
-
GraalVM for JDK 21 is here
GitHub page has some info: https://github.com/oracle/truffleruby#current-status
My question is, how viable is TruffleRuby vs JRuby?
-
Making Python 100x faster with less than 100 lines of Rust
I wonder why GraalVM is not more often used for these speed critical cases: https://www.graalvm.org/python/
Is the problem the Oracle involvement? (Same for ruby https://www.graalvm.org/ruby/)
-
Ruby 3.2’s YJIT is Production-Ready
Looks like it’s still a WIP
https://github.com/oracle/truffleruby/commits?author=eregon
- Implement Pattern Matching in TruffleRuby (GSoC)
- TruffleRuby – GraalVM Community Edition 22.2.0
-
Modern programming languages require generics
this comes at the cost of boxing ints inside Integer, though.
So, if you ignore for a moment primitives types, whenever you have generics, everything boils down to a single method accepting Objects and returning Objects. What the JVM does is to do runtime profiling of what actually you are passing to the generic method, and generate optimized routines for the "best case". In theory this is the best of the two worlds, because like in general you will have a single implementation of the method (avoiding duplication of the code), but if you use it in an hot spot you get the optimized code.
In a way, it is quite wasteful, because you throw away a lot of information at compile time, just to get it back (and maybe not all of it) at runtime through profiling, but in practice it works quite well.
A side effect of this is this makes the JVM a wonderful VM for running dynamic languages like Ruby and Python, because that information is _not_ there at compile time. In particular GraalVM/TruffleVM and exposes this functionality to dynamic language implementations, allowing very good performance (according to they website [1][2], Ruby and Python on TruffleVM are about 8x faster than the official implementation, and JS in line with V8)
[1] https://www.graalvm.org/ruby/
-
GraalVM 22.1: Developer experience improvements, Apple Silicon builds, and more
I opened a ticket some time ago about performance with Jekyll and liquid templates. At least in that case, yjit was way faster. I'm happy to retest though. Anything that would make my jekyll builds faster would help.
https://github.com/oracle/truffleruby/issues/2363
-
Ruby YJIT Ported to Rust
Here's a benchmark [1] done in Jan'22 against many ruby implementations, truffleRuby [2] seems to be way ahead in most, and at least ahead in all. Why truffleRuby isn't talk about much here?
[1] https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj...
[2] https://github.com/oracle/truffleruby
ChezScheme
- Chez Scheme v10.0
- ChezScheme
-
Racket branch of Chez Scheme merging with mainline Chez Scheme
The main line of Chez Scheme is here:
https://github.com/cisco/ChezScheme
There is more work to be done before release 10.0.
-
Not only Clojure – Chez Scheme: Lisp with native code speed
What is yakihonne? Another blogging platform? Rather confusing to use.
Anyway, would have been nice for the article to link to Chez Scheme project's page, which seems to be this one:
https://github.com/cisco/ChezScheme
Also not clear why should folks use Chez? The article barely covered the why or what successful apps have been written in Chez.
-
My resignation letter as R7RS-large chair
Who will convince Kent to come back and make r6.1rs? https://github.com/cisco/ChezScheme/issues/574
If you want a large language, isn't it a better idea to build it on top of something the makes better guarantees for the user? I prefer my program to not continue executing after reaching an erroneous state.
-
Why does GUIX use guile if chez 20x faster + a bunch of other reasons?
So far as I know Chez is not a variation on Guile, it's a scheme implementation similar to Guile, and so far that I can see Guile is more active, with more community and more package ecosystem , and looks like Chez is/was a cisco project, not sure how is the development process there, but Guile looks like more active in terms of commits https://git.savannah.gnu.org/cgit/guile.git, the last one in "main" is 3 weeks ago vs may 23 https://github.com/cisco/ChezScheme/commits/main.
-
Are there any notable software projects done by traditionally non-software companies?
The link doesn't work for me but to answer the title, I found it interesting to learn that Chez Scheme (often regarded as the Scheme implementation which produces the fastest programs) is developed by Cisco, the company that makes networking hardware
-
Is anyone doing Advent of Code in R7RS this year?
Göran is spot on. I am sad that Marc's proposal on the chez tracker has seemingly died: https://github.com/cisco/ChezScheme/issues/574
-
Unable to install Chez Scheme, I'm lost 🙃. Can you illustrate me on how to do this because I have tried for a couple hours and I don't have time to waste so I guess is better if I ask step by step the meaning of all of this
Download the exe from here
-
GitHub Copilot investigation
Many open source project don't allow contributions from people that have worked with similar projects with incompatible licenses. I remember https://github.com/cisco/ChezScheme/pull/376#issuecomment-45... and https://wiki.winehq.org/Developer_FAQ#Copyright_Issues
What are some alternatives?
JRuby - JRuby, an implementation of Ruby on the JVM
r6rs-pffi - Portable Foreign Function Interface (FFI) for R6RS
artichoke - 💎 Artichoke is a Ruby made with Rust
racket-markdown-blog - This repository contains another attempt of writing a blog. The blog's "engine" is written in Racket. There is a Dockerfile which can be used to run the blog inside a Docker container, to ease deployment.
graalpython - A Python 3 implementation built on GraalVM
dumb-jump - an Emacs "jump to definition" package for 50+ languages
ruby-packer - Packing your Ruby application into a single executable.
racket - The Racket repository
graaljs - A ECMAScript 2023 compliant JavaScript implementation built on GraalVM. With polyglot language interoperability support. Running Node.js applications!
Mezzano - An operating system written in Common Lisp
clj-kondo - Static analyzer and linter for Clojure code that sparks joy
ops-examples - A repository of basic and advanced examples using Ops