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
sha256=660a0883499369e3f3f407ea3d5082cfd0d579f9e365cb86926fd8e119d78ee0
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 (59)

  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. httpun-ws
  39. irmin >= "3.2.0"
  40. ke
  41. lmdb >= "1.0"
  42. mimic
  43. mrmime
  44. multipart_form < "0.4.1"
  45. multipart_form-eio
  46. multipart_form-lwt
  47. octez-bls12-381-polynomial
  48. octez-libs
  49. paf >= "0.0.2"
  50. prettym
  51. reparse < "2.0.0"
  52. rock
  53. sendmail >= "0.6.0"
  54. tensorboard
  55. tezos-bls12-381-polynomial >= "0.1.3"
  56. tezos-context >= "11.0"
  57. unstrctrd
  58. uring < "0.2"
  59. websocketaf

Conflicts (3)

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

Innovation. Community. Security.