MPI_Send_init prepares a request handle for sending using persistent communications. The handle request is inactive upon creation because no actual send is issued until the request handle is passed to MPI_Start, at which point it becomes active. An MPI_Send_init followed with an MPI_Start is equivalent to MPI_Isend: the send is issued, but completion must still be explicitly checked. Therefore, a wait such as MPI_Wait or a test such as MPI_Test is required before the buffers passed to MPI_Send_init can be safely reused. Once the request handle of a persistent communication has been waited upon, or successfully tested, it becomes inactive and can be passed again to MPI_Start to issue that same send again. This is how persistent communications save time; they decrease the overhead about argument processing since the list of arguments passed is already known. Using an MPI_Send_init does not require the corresponding receive on the receiver MPI process to be done via persistent communications, and vice-versa. Other persistent communications are: MPI_Recv_init, MPI_Ssend_init, MPI_Bsend_init and MPI_Rsend_init.