Go x Java e gRPC x REST: Um estudo empírico - Soares, Luiz Otávio; Terra, Ricardo (Anais do Simpósio Brasileiro de Linguagens de Programação (SBLP), 2024)
Este trabalho investiga a influência das linguagens de programação Java e Go e das arquiteturas de comunicação REST e gRPC no desempenho de APIs. A questão de pesquisa #1 investigou qual par (linguagem,arquitetura-comunicação) provê melhor desempenho. Por um lado, pares (Go, gRPC) e (Java, gRPC) se destacaram em requisições de tamanhos usuais (StdSize) possivelmente devido à eficiência na compactação de dados e na redução de latência oferecida pelo gRPC. Por outro lado, pares (Go, REST) e (Java, REST) se destacaram em requisições de grande volume (LargeSize) provavelmente devido à flexibilidade do REST em lidar com grandes volumes de dados sem estrutura rígida. A questão de pesquisa #2, de forma complementar, investigou a influência de cada fator no desempenho. Um projeto fatorial 2𝑘𝑟 concluiu que enquanto a linguagem de programação exerce uma influência de 2%, a arquitetura de comunicação influencia 94%.