Search code examples
aeron

Should IPC setup be slower than UDP?


When creating an IPC publication ("aeron:ipc"), the call to Aeron.addExclusivePublication takes significantly longer to return than it does when using a UDP channel.

I have tried this on Windows where on my desktop it takes around 200ms, compared to around 20ms with UDP. On our Linux servers it takes around 90ms compared to around 5ms.

The Media Driver is in /dev/shm on Linux. On Windows it runs in a temporary directory on the C: drive.

The code is compiled with jdk1.8 and I've tried running it with various jdk versions, the results are similar each time.

Is this expected behavior?


Solution

  • The default settings for the term buffer length is 4 times larger at 64m for IPC vs 16m for UDP. If you are on a file system not supporting sparse files then it will take longer to allocate.

    The speed of the call will be dictated by how fast your filesystem is and the length of the term buffer you are allocating.