Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

hailelagi/thumbelina

Repository files navigation

Thumbelina

Build Status

Read the introduction article: https://www.hailelagi.com/hacks/thumbelina/

Rust backed erlang NIF for image processing. This is a fun idea/experiment combining the incredible I/O throughput and concurrency features of the BEAM and the memory safety of rust.

Things to consider:

  1. The most important reason, although rust is memory safe, and rustler catches panics before they unwind to the C interface, it is not possible to co-operatively schedule a native call.

  2. CPU vs GPU programming (https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html)

  3. The erlang vm isn't bad at all number crunching, there's nuanced fine print

Alternatives

Thanks to the maintainers of image, thumbelina adopts a sub-set of its api design. If running in production, consider an external service like aws lambda or:

About

Image processing and compression in the BEAM virtual machine via rust foreign function interface bindings.

Resources

License

Stars

Watchers

Forks