Реализация протокольного буфера (.proto), разная или одинаковая эффективность? - PullRequest
1 голос
/ 16 апреля 2020

При написании файла .proto для gRP C я заметил, что могу либо.

1) Включить все мои сообщения (запросы и ответы) в один файл .proto вместе со всеми rpcs.

2) Записать каждый rp c в свой собственный файл .proto.

Я вижу, что когда у меня два rpcs, которые обращаются к одним и тем же сообщениям, удобнее записывать буферы протокола. в том же файле. Однако я бы предпочел разделить их, когда это возможно, чтобы использовать более модульный подход.

Мой вопрос заключается в том, чтобы игнорировать предпочтения, есть ли разница в эффективности между этими двумя подходами? Также будет полезна любая информация о соглашении.

ПРИМЕЧАНИЕ: я использую gRP C (C ++ и Java). Я не знаю, имеет ли языковая реализация какое-то отношение к ответу.

1 Ответ

1 голос
/ 16 апреля 2020

Нет никакой разницы в эффективности. Некоторые языки импортируют сгенерированный код на основе имени файла прото, например, C ++ и Java, если не задано значение option java_multiple_files = true, поэтому разница видна за пределами самих файлов .proto. Но ничего не влияет на производительность.

Единственное ограничение заключается в том, что все методы службы должны быть в одном файле. Но сообщения для этих методов все еще могут быть в отдельных файлах.

...