Реализовать эффективный кодер/декодер

Я работаю над двоичным codeировщиком/деcodeером с протоколом Codable.

Одной из целей является обеспечение эффективности. То есть я хотел бы использовать специальную обработку случаев Data/[UInt8], чтобы минимизировать количество выделений/копирований памяти.

Однако Codable и связанные с ним протоколы на самом деле не очень хорошо документированы, и есть много дополнительных методов, и я не уверен, нужно ли мне их реализовывать или нет. Например, UnkeyedEncodingContainer.encode(_ value: UInt8) поставляется с реализацией по умолчанию. Но я хочу проверить, что он делает, чтобы решить, нужна ли мне пользовательская реализация.

Где я могу найти реализацию этих методов по умолчанию?

Где я могу найти реализацию Codable для Data / Что мне нужно сделать, чтобы настроить двоичное codeирование для Data?

Я нашел некоторые, но не все реализации по умолчанию https://github.com/swiftlang/swift/blob/4229a917cbfdb7cea16923c4e82f5b0369bfbdc5/stdlib/public/core/Codable.swift#L6735

Василиса
Вопрос задан5 февраля 2024 г.

1 Ответ

2
Пантелеймон
Ответ получен18 сентября 2024 г.

Ваш ответ

Загрузить файл.