package bigstringaf

  1. Overview
  2. Docs
Bigstring intrinsics and fast blits based on memcpy/memmove

Install

Dune Dependency

Authors

Maintainers

Sources

0.5.3.tar.gz
sha256=3a374c9e2b8c15e2a3551b7637b8f7be975b708276f9cebe58b77e4911322f31
md5=a8ee1ea3cff80d1e2b840a2781965fa8

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: 13 Aug 2019

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)

  1. ocaml >= "4.03.0"
  2. base-bigarray
  3. dune >= "1.0"

Dev Dependencies (1)

  1. alcotest with-test

Used by (49)

  1. albatross >= "1.1.0"
  2. angstrom >= "0.10.0"
  3. caqti >= "1.7.0"
  4. clz
  5. comby-kernel >= "1.7.0"
  6. compsort
  7. conan-lwt >= "0.0.2"
  8. conduit-async = "3.0.0"
  9. conduit-lwt = "3.0.0"
  10. conduit-mirage = "3.0.0"
  11. conduit-tls
  12. decompress >= "1.0.0" & < "1.5.3"
  13. doi2bib >= "0.4.0"
  14. dream < "1.0.0~alpha3"
  15. dream-httpaf
  16. dream-pure
  17. duff >= "0.3"
  18. emile >= "0.6"
  19. encore >= "0.4"
  20. faraday >= "0.6.0"
  21. functoria >= "4.4.0"
  22. git >= "3.0.0" & < "3.3.1" | >= "3.4.0" & < "3.9.1"
  23. git-paf >= "3.5.0"
  24. git-unix >= "3.0.0" & < "3.9.1"
  25. gluten
  26. h1
  27. h2
  28. httpaf >= "0.6.0"
  29. httpun-ws
  30. irmin >= "3.2.0"
  31. ke
  32. lmdb >= "1.0"
  33. mrmime
  34. multipart_form < "0.2.0"
  35. multipart_form-eio
  36. multipart_form-lwt
  37. octez-bls12-381-polynomial
  38. octez-internal-libs
  39. octez-libs
  40. prettym
  41. reparse < "2.0.0"
  42. rock
  43. sendmail >= "0.6.0"
  44. tensorboard
  45. tezos-bls12-381-polynomial >= "0.1.3"
  46. tezos-context >= "11.0"
  47. unstrctrd
  48. uring < "0.2"
  49. websocketaf

Conflicts (2)

  1. ocaml-freestanding < "0.4.1"
  2. mirage-xen-posix < "3.1.0"
OCaml

Innovation. Community. Security.