What's your current data rate?
You should now have a figure far above 1Mbyte/s without any particular optimization.
For performance, remind that every sendto call will send a separate UDP packet which includes some header overhead (42 bytes), so you optimize the speed by increasing the data payload.
Ideally the best situation would be calling sendto with such a data length that the full packet lenght is used. For an Ethernet link, the maximum packet size is 1536 bytes, so you can transmit up to 1536-42 bytes of payload at once. If you exceed this quota by a single byte, then a new UDP packet has to be generated, thus adding more 42 bytes.