我如何在 java 中发送 1kb 的消息,我试图从一台机器向另一台机器发送一条固定大小为 1kb 的消息,如何实现?
目前我能够在机器之间发送诸如“测试”之类的消息,但理想情况下我希望能够发送 1kb 的固定大小的消息
这就是我目前发送测试的方式
if (myrank == 0) {
char[] mess = " test ".toCharArray();
MPI.COMM_WORLD.Send(mess, 0, mess.length, MPI.CHAR, 1, 99);
}
目前这是我在机器之间发送消息的方式:
import mpi.* ;
class Hello {
static public void main(String[] args) {
MPI.Init(args);
int myrank = MPI.COMM_WORLD.Rank();
long startTime = System.currentTimeMillis();
if (myrank == 0) {
char[] mess = " test ".toCharArray();
MPI.COMM_WORLD.Send(mess, 0, mess.length, MPI.CHAR, 1, 99);
} else {
char[] mess = new char[20];
MPI.COMM_WORLD.Recv(mess, 0, 20, MPI.CHAR, 0, 99);
System.out.println("received:" + new String(mess));
}
long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
System.out.println(duration);
MPI.Finalize();
}
}
字节数组会是一个好的解决方案吗?
需要固定大小的消息,以帮助基准测试结果,例如,我希望比较发送 1kb 消息、1mb、20mb ........ 1gb 等所花费的时间增加
编辑 :
这行得通吗?这会发送8位吗?
int i = 10;
String text = String.format("%08d", i);
// text now contains "00000010"
// 8 bits