preval | Automatically optimizes your Ruby code
kandi X-RAY | preval Summary
kandi X-RAY | preval Summary
preval is a Ruby library. preval has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
preval is a gem that hooks into the Ruby compilation process and runs optimizations before it gets loaded by the virtual machine. Certain optimizations that are common in compilers are not immediately possible with Ruby on account of Ruby's flexibility. For example, most compilers will run through a process called constant folding to eliminate the need to perform extraneous operations at runtime (e.g., 5 + 2 in the source can be replaced with 7). However, because Ruby allows you to override the Integer#+ method, it's possible that 5 + 2 would not evaluate to 7. preval assumes that most developers will not override the Integer#+ method, and performs optimizations under that assumption. Users must opt in to each of preval's optimizations, as there's no real way of telling whether or not it is 100% safe for any codebase. The more optimizations are allowed to run, the more time and memory savings later. Users can also define their own optimizations by subclassing the Preval::Visitor class and using the existing Preval::Node APIs to replace and update the Ruby AST as necessary.
preval is a gem that hooks into the Ruby compilation process and runs optimizations before it gets loaded by the virtual machine. Certain optimizations that are common in compilers are not immediately possible with Ruby on account of Ruby's flexibility. For example, most compilers will run through a process called constant folding to eliminate the need to perform extraneous operations at runtime (e.g., 5 + 2 in the source can be replaced with 7). However, because Ruby allows you to override the Integer#+ method, it's possible that 5 + 2 would not evaluate to 7. preval assumes that most developers will not override the Integer#+ method, and performs optimizations under that assumption. Users must opt in to each of preval's optimizations, as there's no real way of telling whether or not it is 100% safe for any codebase. The more optimizations are allowed to run, the more time and memory savings later. Users can also define their own optimizations by subclassing the Preval::Visitor class and using the existing Preval::Node APIs to replace and update the Ruby AST as necessary.
Support
Quality
Security
License
Reuse
Support
preval has a low active ecosystem.
It has 97 star(s) with 1 fork(s). There are 3 watchers for this library.
It had no major release in the last 6 months.
There are 0 open issues and 1 have been closed. On average issues are closed in 5 days. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of preval is current.
Quality
preval has no bugs reported.
Security
preval has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
preval is licensed under the MIT License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
preval releases are not available. You will need to build from source code and install.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi has reviewed preval and discovered the below as its top functions. This is intended to give you an instant insight into preval implemented functionality, and help decide if they suit your requirements.
- Visit function .
- Get the body of the body
- Get an element from the given node .
- Replace node with the given node .
- Update the body
- Joins the body .
- Returns true if this type matches another type .
- Get the source body
- Returns true if the given type is a type
- Checks if the given type matches the given types .
Get all kandi verified functions for this library.
preval Key Features
No Key Features are available at this moment for preval.
preval Examples and Code Snippets
No Code Snippets are available at this moment for preval.
Community Discussions
No Community Discussions are available at this moment for preval.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install preval
Add this line to your application's Gemfile:.
Support
Bug reports and pull requests are welcome on GitHub at https://github.com/kddnewton/preval.
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page