#include "mpi.h"
#include <stdio.h>

int main(int argc, char** argv) {
    int rank;
    double start, end;
    char message[100000]; // Розмір повідомлення можна змінювати для перевірки залежності часу

    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);

    for (int len = 1; len <= 100000; len *= 10) {
        if (rank == 0) {
            start = MPI_Wtime();
            MPI_Send(message, len, MPI_CHAR, 1, 0, MPI_COMM_WORLD);
            MPI_Recv(message, len, MPI_CHAR, 1, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
            end = MPI_Wtime();
            printf("Довжина повідомлення: %d, Час: %f секунд\n", len, end - start);
        }
        else if (rank == 1) {
            MPI_Recv(message, len, MPI_CHAR, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
            MPI_Send(message, len, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
        }
    }

    MPI_Finalize();
    return 0;
}