MoarVM
cache
MoarVM | cache | |
---|---|---|
11 | 40 | |
678 | 4,274 | |
0.9% | 1.5% | |
7.9 | 7.2 | |
4 days ago | 11 days ago | |
C | TypeScript | |
GNU General Public License v3.0 or later | MIT License |
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.
MoarVM
-
Stability
Implement return prioritization #1786: superseeded
-
What's a good way to represent overloaded functions at a low level?
Now, as to how that's done at the low level, and whether the way it's done is a good way to do it, well, I can't help. Suffice to say, the main place to look for how this is handled at the low-level is MoarVM. I dug around for a couple minutes and have a link to a commit from nearly a decade ago. Does that help?
-
Language intrinsics and custom array layout
For a class the default representation is P6Opaque. This is one of a few dozen stock representations that Raku requires compiler backends implement as standard. See, for example, the 46 .c/.h pairs of C89 source files in the relevant MoarVM directory. A quick glance at the names of the source code files should paint a broad picture. A look at their code will fill in some details.
- Directly run compiled bytecode file?
-
How do you know if an allocator is good?
I'm hoping someone who knows C89 can take a quick gander at the C89 code implementing 47 representations in here and comment on it.
- MoarVM: A VM with adaptive optimization and JIT compilation, built for Rakudo
-
Any languages doing anything interesting with allocators?
This is (yet another) very un(der)documented Raku feature (over a decade after it was introduced!), but one can browse what looks to me like reasonably clean and commented C89 code implementing 47 representations in the relevant MoarVM directory.
-
Designing containers for GitHub actions
FROM alpine:latest as base ARG RAKU_RELEASE=2021.12 ENV PKGS="git make gcc musl-dev perl linux-headers bash" RUN apk update && apk upgrade \ && apk add --no-cache $PKGS \ && git clone --depth 1 --branch ${RAKU_RELEASE} https://github.com/MoarVM/MoarVM.git \ && cd MoarVM \ && perl Configure.pl --prefix /usr \ && make --print-data-base \ && make install\ && cd .. \ && git clone --depth 1 --branch ${RAKU_RELEASE} git://github.com/Raku/nqp.git \ && cd nqp \ && perl Configure.pl --backends=moar --prefix /usr \ && make install \ && cd .. \ && git clone --depth 1 --branch ${RAKU_RELEASE} https://github.com/rakudo/rakudo.git \ && cd rakudo \ && perl Configure.pl --backends=moar --prefix /usr \ && make install \ && ls /usr/share/nqp/ FROM alpine:latest ARG UID=1000 LABEL version="0.5.0" maintainer="[email protected]" raku_release=${RAKU_RELEASE} raku_user_uid=${UID} COPY --from=base /usr/lib/libmoar.so /usr/lib COPY --from=base /usr/share/nqp/ /usr/share/nqp COPY --from=base /usr/share/perl6/ /usr/share/perl6 COPY --from=base /usr/bin/moar /usr/bin/nqp /usr/bin/raku /usr/bin/perl6 /usr/bin/rakudo /usr/bin/ RUN mkdir /github \ && addgroup -S raku && adduser -S raku -G raku --uid ${UID} USER raku WORKDIR /home/raku ENTRYPOINT ["raku"]
-
What happened to the Mu MicroVM project?
Visit the MoarVM project's home page and/or its github repo.
-
Scheme string vector vs list of chars
MoarVM's representation is very cool https://github.com/MoarVM/MoarVM/blob/master/docs/strings.asciidoc
cache
-
GitHub Actions could be so much better
> with no persistent storage
There's https://github.com/actions/cache though?
-
Optimizing GitHub Actions Performance: Enhance Workflows with Caching
Use Cache Actions: GitHub Actions provides cache actions that simplify caching implementation. The @actions/cache JavaScript library is a popular choice for managing caching in workflows. It offers flexible options for storing and retrieving cache artifacts based on keys, scopes, and paths.
-
Speeding up GitHub Actions with npm cache
GitHub maintain a set of repos called actions. One of which is called cache.
-
How I Sliced Deployment Times to a Fraction and Achieved Lightning-Fast Deployments with GitHub Actions
By utilizing the actions/cache action action, we implemented a strategy to store and retrieve dependencies, preventing redundant installations.
-
Use GitHub Actions to Make Your GitHub Profile Dynamic
I do think it's good practice to enable caching, such that your script doesn't hit RubyGems / pip / npm / etc every time it runs.
That way at least the automation activity stays entirely within the GitHub / Azure network.
It looks like you can do that for Ruby by adding this:
https://github.com/actions/cache/blob/master/examples.md#rub...
- uses: ruby/setup-ruby@v1
-
A guide to using act with GitHub Actions
➜ getting-started-with-act git:(master) act -j build WARN ⚠ You are using Apple M1 chip and you have not specified container architecture, you might encounter issues while running act. If so, try running it with '--container-architecture linux/amd64'. ⚠ [Node.js CI/build] 🚀 Start image=node:16-buster-slim [Node.js CI/build] 🐳 docker pull image=node:16-buster-slim platform= username= forcePull=false [Node.js CI/build] 🐳 docker create image=node:16-buster-slim platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] [Node.js CI/build] 🐳 docker run image=node:16-buster-slim platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] [Node.js CI/build] ☁ git clone 'https://github.com/actions/setup-node' # ref=v3 [Node.js CI/build] ☁ git clone 'https://github.com/actions/cache' # ref=v3 [Node.js CI/build] ☁ git clone 'https://github.com/actions/upload-artifact' # ref=v3 [Node.js CI/build] ⭐ Run Main actions/checkout@v3 [Node.js CI/build] 🐳 docker cp src=/Users/andrewevans/Documents/projects/getting-started-with-act/. dst=/Users/andrewevans/Documents/projects/getting-started-with-act [Node.js CI/build] ✅ Success - Main actions/checkout@v3 [Node.js CI/build] ⭐ Run Main Use Node.js 16.x [Node.js CI/build] 🐳 docker cp src=/Users/andrewevans/.cache/act/actions-setup-node@v3/ dst=/var/run/act/actions/actions-setup-node@v3/ [Node.js CI/build] 🐳 docker exec cmd=[node /var/run/act/actions/actions-setup-node@v3/dist/setup/index.js] user= workdir= [Node.js CI/build] 💬 ::debug::isExplicit: [Node.js CI/build] 💬 ::debug::explicit? false
- duplicated cache by cache action
-
runner image with MS office installed - do-able? is there a better way?
You could try to find some point in the process where you can set up Actions caches with actions/cache, otherwise Container customization for Self-Hosted Runners is currently in Beta.
-
[Question] Decrease Docker image's build time
I would configure Github Actions cache so Docker doesn't have to compile all layers from scratch every time
-
The strongest principle of the blog's growth lies in the human choice to deploy it
In the copied example, npm caching is done via actions/cache@v2 action. But we can simplify our workflow by dropping this step and using built-in functionality for caching
What are some alternatives?
Oberon - Oberon parser, code model & browser, compiler and IDE with debugger
upload-artifact
nqp - NQP
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
Inline-Perl5 - Use Perl 5 code in a Raku program
act - Run your GitHub Actions locally 🚀
roast - 🦋 Raku test suite
actions-runner-controller - Kubernetes controller for GitHub Actions self-hosted runners
Sparrow6 - Raku Automation Framework
setup-buildx-action - GitHub Action to set up Docker Buildx
rakudo - 🦋 Rakudo – Raku on MoarVM, JVM, and JS
checkout - Action for checking out a repo