1、C+20 基础库-雅兰亭库助力开发者构建高性能应用祁宇chufeng.qyalibaba-主要内容 雅兰亭库简介 雅兰亭库序列化库 雅兰亭库rpc 库 雅兰亭库http 库阿里云编译器C+20/23 新特性C+20 基础库(雅兰亭库)Alibaba Cloud Compiler(LLVM)Alibaba Cloud Compiler(ACC)LLVM编译器,相比GCC,或其他Clang/LLVM版本在编译、构建速度上有很大的提升;利用ACCThinLTO、AutoFDO和Bolt等技术可以在不同程度上优化程序性能。通过编译器切换升级到ACC,可以在不用大幅修改代码的情况下获得性能提升和编译速度
2、大幅提升。ACC与C+基础库,为龙蜥社区开发者提供了C+开发的一站式解决方案,快速构建高性能的C+应用。雅兰亭库简介 C+20 雅兰亭库 yaLanTingLibs https:/ 雅兰亭库是一个高性能易用的C+20 库合集,包括这些子库 序列化库(struct_pack,struct_pb,struct_json)基于协程的rpc 库 coro_rpc 基于协程的http库 coro_http_client 协程库async_simple高性能易用的序列化库struct_pack 序列化一个简单对象struct person int64_t id;std:string name;int ag
3、e;double salary;protobuf序列化这样一个对象/person.protomessage person int32 id=1;string name=2;int32 age=3;double salary=4;void serialize_person()person res;res.set_id(1);res.set_name(hello);res.set_age(20);res.set_salary(1024);std:string buf;res.SerializeToString(&buf);高性能易用的序列化库struct_packnamespace boost:s
4、erialization templatevoid serialize(Archive&ar,person&p,const unsigned int)ar&p.id;ar&p.name;ar&p.age;ar&p.salary;/namespace boost:serializationstd:stringstream stream;boost:archive:binary_oarchive archive(stream);person p;archive p;std:string buf=stream.str();boost序列化库序列化person,one by one的去序列化字段高性能
5、易用的序列化库struct_pack struct_pack:一行代码完成对象序列化/反序列化struct person int64_t id;std:string name;int age;double salary;person p.id=1,.name=tom,.age=32;/一行代码序列化auto buffer=struct_pack:serialize(p);/一行代码反序列化person res=struct_pack:deserialize(buffer);enum Color:uint8_t Red,Green,Blue;struct Vec3 float x;float y
6、;float z;struct Weapon std:string name;int16_t damage;struct Monster Vec3 pos;int16_t mana;int16_t hp;std:string name;std:vector inventory;Color color;std:vector weapons;Weapon equipped;std:vector path;/一行代码序列化auto buffer=struct_pack:serialize(monster);/一行代码反序列化auto monster2=struct_pack:deserialize(