mirage
sb-simd
DISCONTINUED
Our great sponsors
mirage | sb-simd | |
---|---|---|
32 | 11 | |
2,417 | 72 | |
1.6% | - | |
8.7 | 8.4 | |
14 days ago | almost 2 years ago | |
OCaml | Common Lisp | |
ISC License | 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.
mirage
-
Gokrazy – Go Appliances
Interesting, and thanks.
I didn't know about those. I kind of thought you may have used MirageOS, which I had read about earlier. It is done in OCaml.
- Mirage – A programming framework for building type-safe, modular systems
-
What's Zig got that C, Rust and Go don't have? [video]
Unix system programming in OCaml (2014)
https://ocaml.github.io/ocamlunix/
"MirageOS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms."
-
PostgreSQL reconsiders its process-based model
That was/is part of the promise of the whole unikernel thing, no?
https://mirage.io/ or similar could then let you boot your database. That said, it's not really taken off from what I can tell, so I'm guessing there's more to it than that.
-
Writing an OS in Rust to run on RISC-V
MirageOS is not Rust, but in the ballpark!
-
Container runtime as a static binary?
OCaml MirageOS? https://mirage.io/
- OCaml 5.0 Multicore is out
- Ask HN: Operating Systems built with functional languages?
-
Is there an operating systems that is a runtime of a programming language?
MirageOS is a runtime for OCaml to create unikernels. They describe themselves as "library operating system". Probably not quite what you were asking for, but I think it's quite interesting for certain use cases (e.g. running services as standalone unikernels in VMs or embedded devices instead of "traditional" programs on top of a general purpose OS).
-
Programming languages endorsed for server-side use at Meta
OCaml has Mirage (https://mirage.io) for example, and ReasonML is just another syntax for the language.
sb-simd
-
The Usability of Advanced Type Systems: Rust as a Case Study
> fully dynamic
Well, no, it's SBCL. Common Lisp has support for types, but most compilers only use them for optimization, SBCL goes one step further and emits warnings when you mismatch types. And looking at the code, I can see lots of type declarations.
It's also interesting to note that the code does not seem to be using SBCL's new SIMD library*, so it could be sped up even more.
* <https://github.com/marcoheisig/sb-simd>, see the texinfo file for documentation.
-
Implementation comparison
I suppose that using arrays + using SIMD instructions could be even faster. Someone is already doing that: https://github.com/marcoheisig/sb-simd/blob/master/examples/simd-dot.lisp .
-
Which programming language or compiler is faster
Common Lisp (sbcl) performance via native implementation of simd [0] is very impressive ! It is litteraly acheieving C/Cpp speeds (within few ms). Great work by Marco Heisig
-
Quite amazing SBCL benchmark speed with sb-simd vectorization
You can see on Programming Language and Compiler Benchmark site the amazing speed of SBCL when sb-simd is used for vectorization.
-
How to speed up array writes?
For SBCL-specific, Marco and Bela have put in a ton of work at sb-simd - may be the OP finds the relevant simd interface there!
-
Programming Language and compiler Benchmarks
And sb-simd is getting very-very impressive to say the least thanks to Marco Heisig.
-
Best Lisp(s) for Functional & (seperately) Systems programming?
You can use sb-simd for manual vectorisation with SBCL. Manual vectorisation is definitely more hassle than automatic vectorisation, but often worth it.
-
Common Lisp (SBCL) slower than Python 3.9?
Fully agreed. One more library that could open up areas is also coming soon. Though documentation is still to be written. Please check sb-simd I wish I could have supported Marco even more.
-
Common Lisp still beats Java, Rust, Julia, Dart in 2021 on benchmarks based on phone number encoding from the famous paper "Lisp as an alternative to Java" from 21 years ago
I have a few benchmark programs (https://github.com/bpecsek/spectralnorm.git) I have originally developed for The Computer Language Benchmark Game and now I am using them to check regression /benchmark sb-simd (https://github.com/marcoheisig/sb-simd.git) during development doing it with Marco Heisig you can see strange results.
What are some alternatives?
unikraft - A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.
sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository
Carp - A statically typed lisp, without a GC, for real-time applications.
oberon-riscv - Oberon RISC-V port, based on Samuel Falvo's RISC-V compiler and Peter de Wachter's Project Norebo. Part of an academic project to evaluate Project Oberon on RISC-V.
linuxkit - A toolkit for building secure, portable and lean operating systems for containers
PrimesResult - The results of the Dave Plummer's Primes Drag Race
Lupine-Linux - Linux in Unikernel Clothing
ocamlformat - Auto-formatter for OCaml code
sleef - SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
Mezzano - An operating system written in Common Lisp
tracing - Application level tracing for Rust.
console - a debugger for async rust!