yjit
CodeBehind Framework
Our great sponsors
yjit | CodeBehind Framework | |
---|---|---|
9 | 38 | |
622 | 32 | |
1.6% | - | |
4.7 | 9.7 | |
6 months ago | 22 days ago | |
Ruby | C# | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
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.
yjit
-
Install Ruby 3.2.0 with YJIT
Ruby 3.2.0 is here and it offers some nice additions to the language. One of the most exciting new things is the addition of a compiler, YJIT. YJIT was created by the folks from Shopify and has been producion tested for a while, so it is safe to use in your environment. Some benchmarks show the difference in speed compared to Ruby without YJIT. I'll put some links if you want to know more: https://speed.yjit.org/ https://www.solnic.dev/p/benchmarking-ruby-32-with-yjit
-
Ruby 3.1.0 Preview 1 released with new experimental JIT
> I’m curious how the impact affects development, deployment, etc.
YJIT is pretty much transparent in production, if not it's likely a bug.
When we tried MJIT in production to compare it against YJIT, it causes lots of request timeouts on deploy, because the JIT warmup would take 10 to 20 minutes and it's much slower during that phase.
But YJIT warms ups extremely fast and with a much lower overhead, it's seemless on deploy.
The only thing you may need to tweak is `--yjit-exec-mem-size`, it defaults to `--yjit-exec-mem-size=256` (MB) which is not quite enough for larger apps.
As for development, it would work, but with code reloading enabled, you'd likely exhaust the executable memory allocation pretty fast, because for now YJIT doesn't GC generated code [0]. It will come soon, hopefully before the 3.1.0 release, but that's one of the reason why it's not enabled by default.
[0] https://github.com/Shopify/yjit/issues/87
-
YJIT: Building a New JIT Compiler for CRuby
Just want to temper expectations because YJIT is still new. But if you run into crashes or bugs, please open an issue with as much detail as you can: https://github.com/Shopify/yjit
-
Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby
You raised a point that the compiler only does a subset. That's actually what I would expect from a new project. I don't expect a full implementation to start. It takes time for a compiler to be mature enough to be general purpose. Here is another Ruby compiler in its infancy: https://github.com/Shopify/yjit.
-
Ruby and Rails never had anything like Shopify
We already collaborate extensively with GitHub around Rails and Ruby. Our respective Ruby and Rails infra teams hold regular meetings, and they already contributed substantial patches to YJIT, e.g. https://github.com/Shopify/yjit/pulls/jhawthorn. Also things like https://bugs.ruby-lang.org/issues/17763 are a collaboration.
-
YJIT: Building a New JIT Compiler Inside CRuby
Yes. I put some suggestions here. I realize that not all of them are practical, but refactoring specific hot methods could make a difference.
CodeBehind Framework
-
Elanat CMS 2.2 Gives New Meaning to Modularity.
Elanat CMS is a large and powerful content management system based on ASP.NET Core. Elanat CMS is a CMS-Framework that does not use any of the default ASP.NET Core frameworks (Razor Pages, MVC, Blazor). Elanat CMS is built under CodeBehind Framework. Elanat CMS and CodeBehind Framework both belong to Elanat team.
-
How to Load Controller Class From Another DLL?
When the modular name comes in ASP.NET Core, we have to use the CodeBehind framework. If you think the default MVC in ASP.NET Core has this modular feature, please leave a comment in the comments section.
-
Elanat Competes with Microsoft; CodeBehind 2.4 Released
About 8 months have passed since the birth of the CodeBehind framework. In these 8 months, we have released 29 new versions with revolutionary innovations, performance improvements and new features; we have now released version 2.4; CodeBehind framework version 2.4 is the 30th version of this framework.
-
How to Send Data to the Server
In this article, we want to teach you how to submit form data in the CodeBehind framework. To keep it simple, we just added a View page with a Controller class and didn't use a Model.
-
ASP.NET Core MVC vs Razor Pages, Which is Faster? CodeBehind!
CodeBehind Website
-
Disadvantages of MVC Architecture in ASP.NET Core
In this article, we discuss the disadvantages of MVC architecture in ASP.NET Core; at the same time, we compare the wonderful architecture of the CodeBehind framework with ASP.NET Core. For each disadvantage of MVC in ASP.NET Core, we will give an example and we will also add the corresponding example with the CodeBehind framework.
-
CodeBehind 2.1; aspx Back to ASP.NET Core
By studying the CodeBehind framework GitHub repository, you can get enough information about the structure of this framework and compare it with ASP.NET Core.
-
How to Use a Ready-Made Website in Back-End Framework
In this article, we want to teach you how to put these static templates into the powerful CodeBehind framework and make them dynamic.
- New Csharp Back-End Framework – Alternative to Asp.net Core
-
How to Build a Modular System Using ASP.NET Core?
We first explain the concept of a module, then teach how to create a module in a project built using the CodeBehind framework.
What are some alternatives?
Ruby on Rails - Ruby on Rails
Elanat - Elanat is ASP.NET Core CMS. Elanat is add-on oriented framework. The Elanat kernel is designed to create an add-on for it as easily as possible; the Elanat kernel contains a variety of add-ons; the structure of Elanat allows the programmer to create a new web system containing different types of add-ons.
ruby - The Ruby Programming Language
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
vox - Vox language compiler. AOT / JIT / Linker. Zero dependencies
Opal - Ruby ♥︎ JavaScript
SailsJS - Realtime MVC Framework for Node.js
rhizome - A JIT for Ruby, implemented in pure Ruby
Spring Boot - Spring Boot
natalie - a work-in-progress Ruby compiler, written in Ruby and C++
CakePHP - CakePHP: The Rapid Development Framework for PHP - Official Repository