0

ネットワークのパフォーマンスをテストしようとしていますが、質問があります

static public void main(String[] args) 
{
    MPI.Init(args);
    int myrank = MPI.COMM_WORLD.Rank();
    int tag = 99;
    int maxlen = 104857600; 
    int minlen = 1; //1kb ?
    char [] sendbuff = new char [maxlen];
    char [] recvbuff = new char [maxlen];
    long speedKbps;
    long speedMbps;
    if (myrank == 0) 
    {
        for (int len = minlen; len <= maxlen; len *= 2) 
        { //len=*2 doubles the ping size each time
            long startTime = System.nanoTime();                  
            MPI.COMM_WORLD.Send(sendbuff, 0, len, MPI.CHAR, 1, tag);
            MPI.COMM_WORLD.Recv(recvbuff, 0, len, MPI.CHAR, 1, tag);
            long endTime = System.nanoTime();
            long duration = endTime - startTime;
            System.out.println("Time for the ping to be sent and recived of " + len + " kb is " + duration + " nanoseconds");
            double transferRate = (len/ duration ) ; //amount of data in kilobytes transferred in 1 second
            System.out.println("transferRate: " + transferRate + "KB per second");
        }
    }
}

、これminlen = 1はどのくらいのサイズですか? 1 KB、1 ビット、1 バイトですか?

ありがとう

4

2 に答える 2

1

文字配列からアイテムを送信しているため、ループの各反復の len は送信する文字数です。したがって、minlen=1 のサイズは 1 文字のサイズであり、Java では 2 バイトです。

Java char のサイズのソース

于 2013-04-13T21:49:26.230 に答える