[erlang-questions] Difference between enif_schedule_dirty_nif and driver_async?
Sun Jun 22 16:41:52 CEST 2014
Are you mixing C ports and C nodes here?
I do agree that C node requires extra effort to handle message marshalling but C port is pure I/O, each port is executed by dedicated OS process.
Would it make sense to you use it?
On 21 Jun 2014, at 19:23, Max Lapshin <max.lapshin@REDACTED> wrote:
> No, external port is not an easy thing.
> I've tried to do so, but stopped: too many work is done in C around packing/unpacking logic and commands. It is much easier to write small C code in C and wrapper in erlang: video is decoded to plain binaries, then coded back into binaries.
> Everything is running in a separate node. So transcoder node is a separate unix process with all it's threads. Different streams are transcoded in different processes.
> Steve, thanks for the explanation. I didn't knew how many dirty threads are there. There is flag: CPU or IO bound nif. How does this flag affects scheduling?
> erlang-questions mailing list
More information about the erlang-questions