package bigstringaf
Install
Dune Dependency
Authors
Maintainers
Sources
md5=be0a44416840852777651150757a0a3b
Description
Bigstring intrinsics and fast blits based on memcpy/memmove
The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not widely-known, sometimes misused, and so programs that use Bigstrings are slower than they have to be. And even if a library got that part right and exposed the intrinsics properly, the compiler doesn't have any fast blits between Bigstrings and other string-like types.
So here they are. Go crazy.
Published: 20 Jul 2024
README
Bigstringaf
The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not widely-known, sometimes misused, and programs that use Bigstrings are slower than they have to be. And even if a library got that part right and exposed the intrinsics properly, the compiler doesn't have any fast blits between Bigstrings and other string-like types.
So here they are. Go crazy.
Installation
Install the library and its dependencies via OPAM:
opam install bigstringaf
Development
To install development dependencies, pin the package from the root of the repository:
opam pin add -n bigstringaf .
opam install --deps-only bigstringaf
After this, you may install a development version of the library using the install command as usual.
For building and running the tests during development, you will need to install the alcotest
package:
opam install alcotest
make test
License
BSD3, see LICENSE file for its text.
Dependencies (3)
-
ocaml
>= "4.08.0"
-
dune-configurator
>= "3.0"
-
dune
>= "3.0"
Dev Dependencies (1)
-
alcotest
with-test
Used by (70)
-
albatross
>= "1.1.0"
-
angstrom
>= "0.10.0"
-
caqti
>= "1.7.0"
-
carton
= "0.2.0" | >= "0.4.4"
-
carton-git
>= "0.2.0"
- carton-lwt
- clz
-
comby-kernel
>= "1.7.0"
- conan-lwt
-
conduit-async
= "3.0.0"
-
conduit-lwt
= "3.0.0"
-
conduit-mirage
= "3.0.0"
- conduit-tls
-
data-encoding
>= "1.0.0"
-
decompress
>= "1.0.0"
- docteur
- docteur-solo5
- docteur-unix
-
doi2bib
>= "0.4.0"
-
dream
< "1.0.0~alpha3"
- dream-httpaf
- dream-pure
-
duff
>= "0.3"
-
eio
>= "0.3"
-
emile
>= "0.6"
-
encore
>= "0.4"
- extism
-
faraday
>= "0.6.0"
-
functoria
>= "4.4.0"
-
git
>= "3.9.1"
- git-cohttp
- git-cohttp-mirage
- git-cohttp-unix
-
git-mirage
>= "3.0.0"
-
git-paf
>= "3.5.0"
-
git-unix
>= "3.0.0"
- gluten
- grpc-bench
- h1
- h2
-
httpaf
>= "0.6.0"
- httpun
- httpun-ws
-
irmin
>= "3.2.0"
- ke
-
lmdb
>= "1.0"
- mimic
- mrmime
-
multipart_form
>= "0.2.0"
- multipart_form-eio
- multipart_form-lwt
- octez-bls12-381-polynomial
- octez-internal-libs
- octez-libs
-
paf
>= "0.0.2"
-
piaf
< "0.2.0"
- prettym
-
reparse
< "2.0.0"
-
riot
< "0.0.7"
- rock
-
sendmail
>= "0.6.0"
- sherlodoc
- spoke
- tensorboard
-
tezos-bls12-381-polynomial
>= "0.1.3"
-
tezos-context
>= "11.0"
- unstrctrd
-
uring
< "0.2"
- websocketaf
- xcursor
Conflicts (3)
-
js_of_ocaml
< "3.5.0"
- ocaml-freestanding
-
mirage-xen
< "6.0.0"