Spracovanie packetu nieco trva pri tcp sa naspat posiela potvrdenie po kazdom pakete atd.
HW urychlovanie crc v paketoch moze, ale nemusi urychlit prenos - zalezi od vykonu samotneho chipu. Takze skus prepnut offload, mozno pomoze. Mozes mat problem s mnoztvom irq - 81000 preruseni pri prijimani dat da zabrat. Intel sietovky a verim, ze aj ine maju nieco ako zhlukovanie preruseni - prijme to niekolko paketov do interneho buffera a vygeneruje len jedno irq. Viem, ze riesis "kvalitu kablov", ale skus si zapnut jumbo framy. Ich spracovanie trva dlhsie, ale generuju az 8 krat menej irq. U mna pri single thread vlastnej aplikacii som dosiahol presne dvojnasobny prenos dat za sekundu pri pouziti 9000 B mtu. Ostatne vylepsenia ta uz asi nebudu velmi zaujimat, ale skus pre istotu jeden test aj priamym kablom. Lacny switch prijme paket, skontroluje ho a az potom ho posle dalej a to mu zasa moze dost dlho trvat. Najme ak ma malu vyrovnavaciu pamet.
Povedzme si to tak, ze sietovanie je taka alchymia, ze sa cudujem ako dobre nam ten internet a spol. vobec funguje...