 Changing Legacy Code: With Confidenceprivate: void NewPacketCallback(Packet pkt); UpdateRate mCurrentUpdateRate; }; VHFDevice.hpp Following member variables void VHFDevice::NewPacketCallback ( Packet pkt) { ... if(pkt.updateRate == private: void NewPacketCallback(Packet pkt); UpdateRate mCurrentUpdateRate; }; VHFDevice.hpp Following member variables void VHFDevice::NewPacketCallback ( Packet pkt) { ... if(pkt.updateRate == { VHFRadio_Set_Sleep_Enabled(1); } ... } VHFDevice.cpp void VHFDevice::NewPacketCallback ( Packet pkt) { ... if(pkt.updateRate == GetUpdateRate()) { return; } if(IsDeviceAsleep()) { WakeUp();0 码力 | 114 页 | 982.54 KB | 6 月前3 Changing Legacy Code: With Confidenceprivate: void NewPacketCallback(Packet pkt); UpdateRate mCurrentUpdateRate; }; VHFDevice.hpp Following member variables void VHFDevice::NewPacketCallback ( Packet pkt) { ... if(pkt.updateRate == private: void NewPacketCallback(Packet pkt); UpdateRate mCurrentUpdateRate; }; VHFDevice.hpp Following member variables void VHFDevice::NewPacketCallback ( Packet pkt) { ... if(pkt.updateRate == { VHFRadio_Set_Sleep_Enabled(1); } ... } VHFDevice.cpp void VHFDevice::NewPacketCallback ( Packet pkt) { ... if(pkt.updateRate == GetUpdateRate()) { return; } if(IsDeviceAsleep()) { WakeUp();0 码力 | 114 页 | 982.54 KB | 6 月前3
 Just-in-Time Compilation - J F Bastien - CppCon 2020Demultiplexing using Dynamic Code Generation A new packet-filter system, DPF (Dynamic Packet Filters), that provides both the traditional flexibility of packet filters and the speed of hand- crafted demultiplexing demultiplexing routines. DPF filters run 10–50 times faster than the fastest packet filters reported in the literature. DPF’s performance is either equivalent to or, when it can exploit runtime information declarative packet-filter language that is aggressively optimized using dynamic code generation. — 1994 (read)DPF Fast, Flexible Message Demultiplexing using Dynamic Code Generation A new packet-filter0 码力 | 111 页 | 3.98 MB | 6 月前3 Just-in-Time Compilation - J F Bastien - CppCon 2020Demultiplexing using Dynamic Code Generation A new packet-filter system, DPF (Dynamic Packet Filters), that provides both the traditional flexibility of packet filters and the speed of hand- crafted demultiplexing demultiplexing routines. DPF filters run 10–50 times faster than the fastest packet filters reported in the literature. DPF’s performance is either equivalent to or, when it can exploit runtime information declarative packet-filter language that is aggressively optimized using dynamic code generation. — 1994 (read)DPF Fast, Flexible Message Demultiplexing using Dynamic Code Generation A new packet-filter0 码力 | 111 页 | 3.98 MB | 6 月前3
 failing successfullystruct packet_processor_begin { packet_processor& processor; }; struct device_processor_end : device_processor_begin { std::error_code ec; std::exception_ptr ex; device* which; }; struct packet_processor_end : packet_processor_begin { std::exception_ptr ex; session* which; }; struct processor_manager_callback { virtual void on(const device_processor_begin& e) = 0; virtual void on(const packet_processor_begin& = 0; virtual void on(const packet_processor_end& e) = 0; }; 38 struct device_processor_begin { device_processor& processor; }; struct packet_processor_begin { packet_processor& processor; }; struct0 码力 | 44 页 | 625.44 KB | 6 月前3 failing successfullystruct packet_processor_begin { packet_processor& processor; }; struct device_processor_end : device_processor_begin { std::error_code ec; std::exception_ptr ex; device* which; }; struct packet_processor_end : packet_processor_begin { std::exception_ptr ex; session* which; }; struct processor_manager_callback { virtual void on(const device_processor_begin& e) = 0; virtual void on(const packet_processor_begin& = 0; virtual void on(const packet_processor_end& e) = 0; }; 38 struct device_processor_begin { device_processor& processor; }; struct packet_processor_begin { packet_processor& processor; }; struct0 码力 | 44 页 | 625.44 KB | 6 月前3
 Writing Python Bindings for C++ Libraries: Easy-to-use Performancethe python thread run def print_packet(packet): print(packet) my_network_library = MyNetworkLibrary() my_network_library.register_callback_on_packet(print_packet) my_network_library.listenAndBl significantly more flexible now! def print_packet(packet): print(packet) my_network_library = MyNetworkLibrary() my_network_library.register_callback_on_packet(print_packet) my_network_library.listenInThread()0 码力 | 118 页 | 2.18 MB | 6 月前3 Writing Python Bindings for C++ Libraries: Easy-to-use Performancethe python thread run def print_packet(packet): print(packet) my_network_library = MyNetworkLibrary() my_network_library.register_callback_on_packet(print_packet) my_network_library.listenAndBl significantly more flexible now! def print_packet(packet): print(packet) my_network_library = MyNetworkLibrary() my_network_library.register_callback_on_packet(print_packet) my_network_library.listenInThread()0 码力 | 118 页 | 2.18 MB | 6 月前3
共 4 条
- 1













