47 ms·
BGP doesn't have very high performance requirements. It does not handle any internet traffic. All it does is configure the kernel routing tables. Even if there'
by woah 5y ago
BGP doesn't have very high performance requirements. It does not handle any internet traffic. All it does is configure the kernel routing tables. Even if there's some crazy 1 second GC pause it will not greatly affect the performance of the router.
- lima 5y agoSending or receiving an internet full table (and potentially applying filters/aggregations) is still quite performance intensive, since it needs to happen quickly. A one-second GC pause won't hurt you but managing the necessary data structures in memory can be challenging. Anecdotally, gobgp is quite a bit slower than hand-optimized C implementations like frr (not that it matters for most gobgp use cases).
- mike_d 5y ago> Sending or receiving an internet full table (and potentially applying filters/aggregations) is still quite performance intensive Nope. I am running 15 sessions with full transit tables, multiple exchanges, and private peers on a four core ARM CPU with 4 GB of RAM.
- tptacek 5y agoWhat's challenging about it? Go gives you control over the layout of your objects in memory.
- Karrot_Kream 5y ago> A one-second GC pause won't hurt you but managing the necessary data structures in memory can be challenging. How so? It's a very common pattern in garbage collected languages to preallocate an array or structures and read/write into it, then "release" the array on finishing the function.