Btw. I forgot to mention that CPU load is typically <2-5% on a 32 core server. - Running in stand-alone as testing purposes speed is let say 100% - Running two pieces code separately and connected via IPC methods, speed is also 100%, but IPC latency jitter is a problem - But running two pieces code together (data processing part as 5 additional goroutines) speed decreases to <50% (No lock contention between the two pieces of code, by analyzing more carefully it seems that processing routine gets interrupted in midway)
Thanks On Wednesday, 29 June 2022 at 04:45:10 UTC+3 TH wrote: > Hey, > > I'm writing some latency & speed sensitive routines that are processing > large amount of signal data in batches. When I run this in a standalone > program the speed is fine. However when I combine this to the rest of > software (>1000 goroutines, mainly network code) the speed gets reduced by > 2x. > > Are there any low-level ways to temporary prevent preemption of a function > or a goroutine? > > Alternatively I tried to run two piece of software in parallel, via > shm+IPC synchronization methods, but futex, posix mutex, pipes, all > produced latency jitter from 20us - 200us. If there's lower latency methods > or more stable ones, please do recommend. > > Thanks > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/9d036cc6-9ace-4169-b586-23a0d93915d5n%40googlegroups.com.