package bigstringaf

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.7.0.tar.gz
md5=3e47593200b77fa6dd2754d37e9cbe19

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: 03 Nov 2020

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 (4)

  1. conf-pkg-config build
  2. ocaml >= "4.03.0"
  3. bigarray-compat
  4. dune >= "2.6.0"

Dev Dependencies (1)

  1. alcotest with-test

Used by (58)

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

Conflicts (3)

  1. js_of_ocaml < "3.5.0"
  2. ocaml-freestanding < "0.4.1"
  3. mirage-xen < "6.0.0"