# \#nif

**URL:** https://forum.elixirforum.com/tag/nif/587.md

[Latest](https://forum.elixirforum.com/latest.md) · [Categories](https://forum.elixirforum.com/categories.md) · [Tags](https://forum.elixirforum.com/tags.md)

---

## [Semurg - a CPU-native data engine built with Elixir and Rust](https://forum.elixirforum.com/t/semurg-a-cpu-native-data-engine-built-with-elixir-and-rust/76097)

<div class="topic-metadata">

**Author:** [@Semurg](https://forum.elixirforum.com/u/Semurg)\
**Replies:** 1\
**Last updated:** [September 1, 2026, 2:47am UTC](https://forum.elixirforum.com/t/semurg-a-cpu-native-data-engine-built-with-elixir-and-rust/76097 "2026-09-01T02:47:29Z")

</div>

Hi All, Long-time reader, finally made an account. I wanted to introduce something my team and I have been building, mostly because the core of it is an Elixir bet and I would really like this community’s take on it. S…

---

## [BEAM Based Game Engine - feedback/thoughts?](https://forum.elixirforum.com/t/beam-based-game-engine-feedback-thoughts/75693)

<div class="topic-metadata">

**Author:** [@GenericJam](https://forum.elixirforum.com/u/GenericJam)\
**Replies:** 4\
**Last updated:** [June 17, 2026, 5:28pm UTC](https://forum.elixirforum.com/t/beam-based-game-engine-feedback-thoughts/75693 "2026-06-17T17:28:48Z")

</div>

I’m the author of Mob. If you haven’t checked it out, please do. https://mobframework.com/ Mob does a lot with NIFs as that’s the bridge between the BEAM and the native mobile platform. It occurred to me that a NIF cou…

---

## [Release and NIF library](https://forum.elixirforum.com/t/release-and-nif-library/75327)

<div class="topic-metadata">

**Author:** [@jschaeff](https://forum.elixirforum.com/u/jschaeff)\
**Replies:** 3\
**Last updated:** [May 13, 2026, 2:50pm UTC](https://forum.elixirforum.com/t/release-and-nif-library/75327 "2026-05-13T14:50:31Z")

</div>

Hello ! Mix release with NIF in a containser crashes … I can’t find why. If I run the project locally (mix phx.serve) it works. When I build a release locally and run it, it works. When I copy the locally generated r…

---

## [HTML2Text - extract readable plain text from HTML using Rust NIF](https://forum.elixirforum.com/t/html2text-extract-readable-plain-text-from-html-using-rust-nif/71287)

<div class="topic-metadata">

**Author:** [@fuelen](https://forum.elixirforum.com/u/fuelen)\
**Replies:** 2\
**Last updated:** [April 4, 2026, 5:18pm UTC](https://forum.elixirforum.com/t/html2text-extract-readable-plain-text-from-html-using-rust-nif/71287 "2026-04-04T17:18:35Z")

</div>

HTML2Text provides a simple and efficient way to extract readable plain text from HTML content. It leverages the power of Rust’s html2text crate to deliver fast HTML parsing and text extraction while maintaining the logi…

---

## [Ex\_rstar - Elixir NIF wrapper around the Rust rstar R\*-tree spatial index](https://forum.elixirforum.com/t/ex-rstar-elixir-nif-wrapper-around-the-rust-rstar-r-tree-spatial-index/74802)

<div class="topic-metadata">

**Author:** [@cortfritz](https://forum.elixirforum.com/u/cortfritz)\
**Replies:** 0\
**Last updated:** [March 27, 2026, 4:55am UTC](https://forum.elixirforum.com/t/ex-rstar-elixir-nif-wrapper-around-the-rust-rstar-r-tree-spatial-index/74802 "2026-03-27T04:55:48Z")

</div>

Elixir NIF wrapper around the Rust rstar R\*-tree spatial index. Stores {x, y} points with optional arbitrary Elixir term data, backed by an opaque NIF resource that lives in Rust memory and is garbage-collected by the BE…

---

## [Yielding NIFs in Rustler for bindings to async functions](https://forum.elixirforum.com/t/yielding-nifs-in-rustler-for-bindings-to-async-functions/74708)

<div class="topic-metadata">

**Author:** [@Benjamin-Philip](https://forum.elixirforum.com/u/Benjamin-Philip)\
**Replies:** 12\
**Last updated:** [March 22, 2026, 11:19am UTC](https://forum.elixirforum.com/t/yielding-nifs-in-rustler-for-bindings-to-async-functions/74708 "2026-03-22T11:19:09Z")

</div>

The Functionality section in the erl\_nif docs mention 3 different strategies for long running NIFs: Yielding NIFs, Threaded NIFs and Dirty NIFs. The rustler docs clearly mention how to implement Dirty NIFs. I also found …

---

## [Adbc high memory usage compared with native drivers](https://forum.elixirforum.com/t/adbc-high-memory-usage-compared-with-native-drivers/74634)

<div class="topic-metadata">

**Author:** [@vegabook](https://forum.elixirforum.com/u/vegabook)\
**Replies:** 0\
**Last updated:** [March 13, 2026, 2:06pm UTC](https://forum.elixirforum.com/t/adbc-high-memory-usage-compared-with-native-drivers/74634 "2026-03-13T14:06:07Z")

</div>

adbc seems to use a huge amount more memory than “native” drivers. I’m dumping large amounts of data each minute, about 600k data points across 10k different identifiers. I need column store for querying so I have gone …

---

## [Blendend - blend2d-powered 2D vector rendering for Elixir](https://forum.elixirforum.com/t/blendend-blend2d-powered-2d-vector-rendering-for-elixir/73614)

<div class="topic-metadata">

**Author:** [@narslan](https://forum.elixirforum.com/u/narslan)\
**Replies:** 2\
**Last updated:** [December 10, 2025, 7:42pm UTC](https://forum.elixirforum.com/t/blendend-blend2d-powered-2d-vector-rendering-for-elixir/73614 "2025-12-10T19:42:25Z")

</div>

Hey everyone, I just released blendend to Hex — a set of NIF bindings that bring Blend2D’s fast, high-quality 2D vector renderer to Elixir. If you’ve ever wanted to do crisp 2D drawing from Elixir (antialiasing, gradi…

---

## [TigerBeetlex - an Elixir client for TigerBeetle](https://forum.elixirforum.com/t/tigerbeetlex-an-elixir-client-for-tigerbeetle/71037)

<div class="topic-metadata">

**Author:** [@rbino](https://forum.elixirforum.com/u/rbino)\
**Replies:** 10\
**Last updated:** [November 29, 2025, 3:23pm UTC](https://forum.elixirforum.com/t/tigerbeetlex-an-elixir-client-for-tigerbeetle/71037 "2025-11-29T15:23:34Z")

</div>

Hey folks! I’m happy to introduce TigerBeetlex, an Elixir client for TigerBeetle, the financial transactions database. I’ve been working on this for some time and I finally feel it’s ready for general usage. The goal o…

---

## [Resvg - SVG Rendering in Elixir with Rust](https://forum.elixirforum.com/t/resvg-svg-rendering-in-elixir-with-rust/56635)

<div class="topic-metadata">

**Author:** [@MRdotB](https://forum.elixirforum.com/u/MRdotB)\
**Replies:** 23\
**Last updated:** [October 13, 2025, 8:21pm UTC](https://forum.elixirforum.com/t/resvg-svg-rendering-in-elixir-with-rust/56635 "2025-10-13T20:21:09Z")

</div>

Greetings Elixir community! Today, I’m thrilled to present you with resvg\_nif, an open-source project that provides Elixir bindings for the Rust-based SVG rendering library resvg. After initially exploring resvg via a p…

---

## [ExtractousEx - a NIF wrapper around Extractous Rust library extracting text from files](https://forum.elixirforum.com/t/extractousex-a-nif-wrapper-around-extractous-rust-library-extracting-text-from-files/72682)

<div class="topic-metadata">

**Author:** [@Jskalc](https://forum.elixirforum.com/u/Jskalc)\
**Replies:** 0\
**Last updated:** [September 26, 2025, 1:32pm UTC](https://forum.elixirforum.com/t/extractousex-a-nif-wrapper-around-extractous-rust-library-extracting-text-from-files/72682 "2025-09-26T13:32:31Z")

</div>

Hi everyone :waving\_hand: I’ve just released ExtractousEx, an Elixir library for extracting text and metadata from various document formats using the Rust-based Extractous library. There are some other libraries doing th…

---

## [Making async code synchronous](https://forum.elixirforum.com/t/making-async-code-synchronous/72630)

<div class="topic-metadata">

**Author:** [@kuon](https://forum.elixirforum.com/u/kuon)\
**Replies:** 7\
**Last updated:** [September 23, 2025, 12:34pm UTC](https://forum.elixirforum.com/t/making-async-code-synchronous/72630 "2025-09-23T12:34:01Z")

</div>

I wrote a NIF which have function that can take a long time to run. To prevent the scheduler from being overloaded with long running functions (even if marked at dirty), I made my NIF threaded and it sends message back t…

---

## [Zigler - Zig nifs for Elixir](https://forum.elixirforum.com/t/zigler-zig-nifs-for-elixir/25862)

<div class="topic-metadata">

**Author:** [@ityonemo](https://forum.elixirforum.com/u/ityonemo)\
**Replies:** 56\
**Last updated:** [August 21, 2025, 11:26am UTC](https://forum.elixirforum.com/t/zigler-zig-nifs-for-elixir/25862 "2025-08-21T11:26:57Z")

</div>

Currently just starting out on a new mini-project - getting zig NIFs to run in elixir. https://github.com/ityonemo/zigler The idea here is to make the zig NIFs be “embedded” in the elixir code, much like an “asm” call …

---

## [DiskSpace - retrieve disk usage statistics for a given filesystem path](https://forum.elixirforum.com/t/diskspace-retrieve-disk-usage-statistics-for-a-given-filesystem-path/72064)

<div class="topic-metadata">

**Author:** [@waseigo](https://forum.elixirforum.com/u/waseigo)\
**Replies:** 8\
**Last updated:** [August 15, 2025, 5:33pm UTC](https://forum.elixirforum.com/t/diskspace-retrieve-disk-usage-statistics-for-a-given-filesystem-path/72064 "2025-08-15T17:33:38Z")

</div>

DiskSpace Hi everyone, I needed this for a project I’ve been working on, and couldn’t find a simple solution that would work. The solutions in Check disk space inside elixir didn’t work for me. Looking at how Exqlite de…

---

## [Ex\_mgrs - rust wrapper for translation between lat/lon and mgrs](https://forum.elixirforum.com/t/ex-mgrs-rust-wrapper-for-translation-between-lat-lon-and-mgrs/71892)

<div class="topic-metadata">

**Author:** [@cortfritz](https://forum.elixirforum.com/u/cortfritz)\
**Replies:** 1\
**Last updated:** [July 31, 2025, 12:01am UTC](https://forum.elixirforum.com/t/ex-mgrs-rust-wrapper-for-translation-between-lat-lon-and-mgrs/71892 "2025-07-31T00:01:35Z")

</div>

Elixir library for converting between latitude/longitude coordinates and MGRS (Military Grid Reference System) coordinates. Built with Rust NIFs for maximum speed and accuracy using the embedded geoconvert-rs Rust libra…

---

## [Error “Failed to load NIF library” in CI when using Rustler with dynamic libraries](https://forum.elixirforum.com/t/error-failed-to-load-nif-library-in-ci-when-using-rustler-with-dynamic-libraries/69102)

<div class="topic-metadata">

**Author:** [@snewcomer](https://forum.elixirforum.com/u/snewcomer)\
**Replies:** 22\
**Last updated:** [June 12, 2025, 3:26pm UTC](https://forum.elixirforum.com/t/error-failed-to-load-nif-library-in-ci-when-using-rustler-with-dynamic-libraries/69102 "2025-06-12T15:26:06Z")

</div>

Recently, I came across this wonderful blog post on Parsing PDFs (and more) in Elixir using Rust. However, when trying out Github Actions CI with Rustler, I can’t seem to figure out the right steps to get mix compile to…

---

## [Attempt at adapting KuzuDB's Rust crate into Elixir via NIF, any tips/thoughts?](https://forum.elixirforum.com/t/attempt-at-adapting-kuzudbs-rust-crate-into-elixir-via-nif-any-tips-thoughts/66100)

<div class="topic-metadata">

**Author:** [@bgoosman](https://forum.elixirforum.com/u/bgoosman)\
**Replies:** 23\
**Last updated:** [February 10, 2025, 2:39pm UTC](https://forum.elixirforum.com/t/attempt-at-adapting-kuzudbs-rust-crate-into-elixir-via-nif-any-tips-thoughts/66100 "2025-02-10T14:39:10Z")

</div>

I got a very basic NIF working for KuzuDB: GitHub - bgoosmanviz/kuzu\_nif: Adapting KuzuDB's Rust crate to Elixir using Rustler · GitHub. KuzuDB is an embedded graph database, in the same sense sqlite is an embedded sql …

---

## [DomainTwistex - Domain name permutation engine in Elixir using Rust NIFs](https://forum.elixirforum.com/t/domaintwistex-domain-name-permutation-engine-in-elixir-using-rust-nifs/68780)

<div class="topic-metadata">

**Author:** [@nix2intel](https://forum.elixirforum.com/u/nix2intel)\
**Replies:** 16\
**Last updated:** [January 18, 2025, 12:23am UTC](https://forum.elixirforum.com/t/domaintwistex-domain-name-permutation-engine-in-elixir-using-rust-nifs/68780 "2025-01-18T00:23:26Z")

</div>

DomainTwistEx This library helps organizations protect themselves against several types of domain-based cyber attacks. It specifically looks for: Typosquatting: When attackers register misspelled versions of legitimate…

---

## [NIF like a champ: VS Code Debugging C/C++ NIFs](https://forum.elixirforum.com/t/nif-like-a-champ-vs-code-debugging-c-c-nifs/67807)

<div class="topic-metadata">

**Author:** [@FatigueDev](https://forum.elixirforum.com/u/FatigueDev)\
**Replies:** 3\
**Last updated:** [December 2, 2024, 7:27pm UTC](https://forum.elixirforum.com/t/nif-like-a-champ-vs-code-debugging-c-c-nifs/67807 "2024-12-02T19:27:18Z")

</div>

Preface ~ NIFs are rough as heck to debug properly. So you’ve created a NIF with a decent amount of complexity and have resorted to using std::cout \<\< "Some value is: " \<\< value \<\< std::endl;, only to get a Segfault beca…

---

## [ExWebRTC from a container?](https://forum.elixirforum.com/t/exwebrtc-from-a-container/67684)

<div class="topic-metadata">

**Author:** [@beamologist](https://forum.elixirforum.com/u/beamologist)\
**Replies:** 2\
**Last updated:** [November 26, 2024, 12:47am UTC](https://forum.elixirforum.com/t/exwebrtc-from-a-container/67684 "2024-11-26T00:47:12Z")

</div>

Hi everyone, Goal I am seeking advice on running an Elixir WebRTC peer from a docker container. Problem When running the application from the root system, everything works fine, but running the same in a docker contain…

---

## [Exray - Raylib NIFs for Elixir](https://forum.elixirforum.com/t/exray-raylib-nifs-for-elixir/67542)

<div class="topic-metadata">

**Author:** [@FatigueDev](https://forum.elixirforum.com/u/FatigueDev)\
**Replies:** 3\
**Last updated:** [November 19, 2024, 8:32am UTC](https://forum.elixirforum.com/t/exray-raylib-nifs-for-elixir/67542 "2024-11-19T08:32:14Z")

</div>

Exray is a library which leverages Unifex and Bundlex to create NIFs for Raylib’s various modules. Currently, it’s in a functional enough state that I’m confident enough to remove “don’t use this - wip build” from the He…

---

## [Golanger - Is there anything like Rustler or Zigler for Go?](https://forum.elixirforum.com/t/golanger-is-there-anything-like-rustler-or-zigler-for-go/56528)

<div class="topic-metadata">

**Author:** [@AndyL](https://forum.elixirforum.com/u/AndyL)\
**Replies:** 3\
**Last updated:** [September 30, 2024, 7:53pm UTC](https://forum.elixirforum.com/t/golanger-is-there-anything-like-rustler-or-zigler-for-go/56528 "2024-09-30T19:53:14Z")

</div>

Is there anything like Rustler or Zigler for Go?

---

## [UUIDv7 - A UUID v7 implementation and Ecto.Type for Elixir - based on Rust](https://forum.elixirforum.com/t/uuidv7-a-uuid-v7-implementation-and-ecto-type-for-elixir-based-on-rust/56666)

<div class="topic-metadata">

**Author:** [@martinthenth](https://forum.elixirforum.com/u/martinthenth)\
**Replies:** 16\
**Last updated:** [August 14, 2024, 9:28pm UTC](https://forum.elixirforum.com/t/uuidv7-a-uuid-v7-implementation-and-ecto-type-for-elixir-based-on-rust/56666 "2024-08-14T21:28:25Z")

</div>

Hello everybody :wave: Recently, some of my colleagues talked about database ids and uuids and their problems, and I remembered the pain of working with randomly distributed primary keys. They’re nice at first but then …

---

## [Explorer - dev on x86 but prod on arm](https://forum.elixirforum.com/t/explorer-dev-on-x86-but-prod-on-arm/63834)

<div class="topic-metadata">

**Author:** [@pls\_halp](https://forum.elixirforum.com/u/pls_halp)\
**Replies:** 3\
**Last updated:** [May 29, 2024, 9:43am UTC](https://forum.elixirforum.com/t/explorer-dev-on-x86-but-prod-on-arm/63834 "2024-05-29T09:43:42Z")

</div>

Hello! I’m having problems with a compiled application in x86 and deploying it in arm arch. The thing is because Explorer lib but i don’t know how can I still dev in x86 and using arm for prod. I used this as doc says …

---

## [Logging from a NIF](https://forum.elixirforum.com/t/logging-from-a-nif/60440)

<div class="topic-metadata">

**Author:** [@mat-hek](https://forum.elixirforum.com/u/mat-hek)\
**Replies:** 3\
**Last updated:** [December 18, 2023, 1:17pm UTC](https://forum.elixirforum.com/t/logging-from-a-nif/60440 "2023-12-18T13:17:20Z")

</div>

Hi there, since erl\_nif doesn’t seem to provide an interface to the logger, I’m wondering what’s the best way to accomplish logging from a NIF. I thought about having a ‘global’ process or a pool of them that I could se…

---

## [build\_dot\_zig - Use the Zig build system from Elixir to build your NIFs](https://forum.elixirforum.com/t/build-dot-zig-use-the-zig-build-system-from-elixir-to-build-your-nifs/60332)

<div class="topic-metadata">

**Author:** [@rbino](https://forum.elixirforum.com/u/rbino)\
**Replies:** 17\
**Last updated:** [December 16, 2023, 10:23pm UTC](https://forum.elixirforum.com/t/build-dot-zig-use-the-zig-build-system-from-elixir-to-build-your-nifs/60332 "2023-12-16T22:23:18Z")

</div>

build\_dot\_zig is a Mix compiler that allows you to use the Zig build system and compiler from Elixir. This lets you to easily build C, C++ and Zig NIFs without a system toolchain on Linux, MacOS and Windows. You can thin…

---

## [Cross Compiling with NIF as compilation dependency](https://forum.elixirforum.com/t/cross-compiling-with-nif-as-compilation-dependency/59821)

<div class="topic-metadata">

**Author:** [@akash-akya](https://forum.elixirforum.com/u/akash-akya)\
**Replies:** 3\
**Last updated:** [November 24, 2023, 6:01pm UTC](https://forum.elixirforum.com/t/cross-compiling-with-nif-as-compilation-dependency/59821 "2023-11-24T18:01:06Z")

</div>

I am trying to add support for Nerves in Vix (an Image Processing library) and facing a blocker related to cross-compilation. Background Vix uses NIF to communicate with libvips library. It uses libvips introspection an…

---

## [Return a binary tuple from a Rust NIF](https://forum.elixirforum.com/t/return-a-binary-tuple-from-a-rust-nif/58528)

<div class="topic-metadata">

**Author:** [@ImNotAVirus](https://forum.elixirforum.com/u/ImNotAVirus)\
**Replies:** 0\
**Last updated:** [September 27, 2023, 6:10pm UTC](https://forum.elixirforum.com/t/return-a-binary-tuple-from-a-rust-nif/58528 "2023-09-27T18:10:38Z")

</div>

Hello, I’m trying to make a NIF that splits binary once using a delimiter (like :binary.split(bin, separator, parts: 2)) but in Rust I don’t quite understand how to use rustler::Binary, rustler::OwnedBinary and rustler:…

---

## [NIF returns incorrect results, reuses binaries?](https://forum.elixirforum.com/t/nif-returns-incorrect-results-reuses-binaries/56608)

<div class="topic-metadata">

**Author:** [@munksgaard](https://forum.elixirforum.com/u/munksgaard)\
**Replies:** 5\
**Last updated:** [September 22, 2023, 12:00pm UTC](https://forum.elixirforum.com/t/nif-returns-incorrect-results-reuses-binaries/56608 "2023-09-22T12:00:15Z")

</div>

I’m currently in the very early stages of implementing futlixir, a bridge that enables Elixir to call out to Futhark programs. It works by taking a Futhark library and generating a corresponding NIF, similar to how Rustl…

---

## [Has anyone tried to replace make with zig builder for zig/c/c++ files?](https://forum.elixirforum.com/t/has-anyone-tried-to-replace-make-with-zig-builder-for-zig-c-c-files/58276)

<div class="topic-metadata">

**Author:** [@D4no0](https://forum.elixirforum.com/u/D4no0)\
**Replies:** 1\
**Last updated:** [September 14, 2023, 2:23pm UTC](https://forum.elixirforum.com/t/has-anyone-tried-to-replace-make-with-zig-builder-for-zig-c-c-files/58276 "2023-09-14T14:23:31Z")

</div>

I think I am not the only one who hates make, the DSL is horrendous and a lot of times bad things happen, for unknown reasons. I just watched a recent conference on zig build system and I think that this might be the so…

[Next page](https://forum.elixirforum.com/tag/nif/587.md?match_all_tags=true&page=1&tags%5B%5D=nif)
