Witam, posiadam aplikacje która tworzy localsocket

public void run() throws Throwable {

        serverSocketRun = true;
        while (serverSocketRun) {
            if (socketServer == null) {
                try {
                    socketServer = new LocalServerSocket(SOCKET_NAME);
                } catch (IOException e) {
                    e.printStackTrace();
                
                }
            }
            try {
              //    socket.setSoTimeout(3000);
            //      socket.setReceiveBufferSize(50000);
                socket = socketServer.accept();

           //     socket.setSendBufferSize(50000);

                ClientThread clientThread = new ClientThread();
                mRun = true;
                clientThread.start();

            } catch (Exception e) {
           
                System.out.println("catch");
                try {
                    socket.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }

                mRun = false;
            }

            Thread.sleep(0);
        }
    }

  class ClientThread extends Thread {
        public void run() {
            System.out.println("Wątek start");
          //  Log.d("Wątek", "wątek startLog");
            mRun = true;

            byte[] data = new byte[10024];
            while (mRun) {
                try {

                    int read_count = 0;
                    read_count = read(data, read_count);
                    if(read_count>0) {
                        String s = new String(data, "CP1250");
                         sendMessage("s");
                    }

                } catch (Exception e) {
                    mRun = false;
                 
                }
            }
        }
    }

W pętli testowo wysyłam z drugiej aplikacji która łączy się z localsocketem 100 razy requesta

   for(int i=0;i<100;i++) {

            sockets.JsonRequest("message");

        }

Całość operacji trwa ponad sekunde co wg mnie jest zbyt długim czasem. Testowo zauważyłem że sam read trwa kilka milisekund co wydaje się absurdem

  Log.d("przed odczytem",getCurrentTimeStamp());
  read = socket.getInputStream().read(data,0,256);
  Log.d("po odczycie",getCurrentTimeStamp());

Poniżej przykładowe wyniki jakie otrzymałem

01-12 22:08:16.772 28670-28835/D/przed odczytem: 2018-01-12 22:08:16.771
01-12 22:08:16.781 28670-28835/ D/po odczycie: 2018-01-12 22:08:16.781
01-12 22:08:16.788 28670-28835/D/przed odczytem: 2018-01-12 22:08:16.788
01-12 22:08:16.794 28670-28835/ D/po odczycie: 2018-01-12 22:08:16.793

Czy jest jakaś szansa by przyspieszyć ??