MCPcopy Create free account
hub / github.com/apache/fory / build_case

Function build_case

benchmarks/python/benchmark.py:815–844  ·  view source on GitHub ↗
(
    serializer: str,
    operation: str,
    datatype: str,
    obj: Any,
    *,
    fory_writer: pyfory.Fory,
    fory_reader: pyfory.Fory,
    bench_pb2,
)

Source from the content-addressed store, hash-verified

813
814
815def build_case(
816 serializer: str,
817 operation: str,
818 datatype: str,
819 obj: Any,
820 *,
821 fory_writer: pyfory.Fory,
822 fory_reader: pyfory.Fory,
823 bench_pb2,
824) -> Tuple[Callable[..., Any], Tuple[Any, ...]]:
825 if serializer == "fory":
826 if operation == "serialize":
827 return fory_serialize, (fory_writer, obj)
828 return fory_deserialize, (fory_reader, fory_writer.serialize(obj))
829
830 if serializer == "pickle":
831 if operation == "serialize":
832 return pickle_serialize, (obj,)
833 return pickle_deserialize, (
834 pickle.dumps(obj, protocol=pickle.HIGHEST_PROTOCOL),
835 )
836
837 if serializer == "protobuf":
838 if operation == "serialize":
839 return protobuf_serialize, (bench_pb2, datatype, obj)
840 to_pb, _, _ = PROTO_CONVERTERS[datatype]
841 pb_binary = to_pb(bench_pb2, obj).SerializeToString()
842 return protobuf_deserialize, (bench_pb2, datatype, pb_binary)
843
844 raise ValueError(f"Unsupported serializer: {serializer}")
845
846
847def calculate_serialized_sizes(

Callers 1

mainFunction · 0.85

Calls 2

serializeMethod · 0.65
dumpsMethod · 0.45

Tested by

no test coverage detected