I’m not that familiar with the inner details of InfluxDB and the client libraries - perhaps the professionals should comment on that. 
But basically you always have a certain roundtrip time for an http request that you can’t undercut.
Where is your InfluxDB running? localhost? Self-hosted? InfluxDB Cloud?
What are the ping times from the client to the InfluxDB?
If the client libraries are programmed asynchronously, this should work even with thousands of requests per second. But even if it works technically, I wouldn’t do it that way. Because of the enormous protocol overhead.
I would either pool the data points in the client application and push them collectively. You can already set the timestamps when creating the data points.
Or I would use a Telegraf agent locally. The application pushes the data points to Telegraf. Telegraf can pool the data and send it collectively. How and how often can be configured.
But Telegraf can do much more than that.
It could also be that you are using the client library inappropriately.
Perhaps there is a bottleneck?
Could it be that you are creating a new instance of the writeApi each time?