perf: implement SIMD-accelerated event processing and optimize streaming performance

- Add SIMD utilities for fast byte array comparison and discriminator matching
- Optimize event processor with batch processing and memory pool
- Refactor global state management with concurrent data structures
- Remove deprecated batch processing module
- Enhance metrics collection with reduced overhead
- Improve parser efficiency across all protocol implementations
- Add performance benchmarking dependencies (criterion, wide)
- Update documentation and examples for new architecture

Performance improvements:
- SIMD-accelerated byte operations for instruction parsing
- Concurrent HashMap (DashMap) for better multi-threading
- Optimized memory allocation patterns
- Reduced lock contention in event processing pipeline

Breaking changes: Removed batch.rs module, updated parser interfaces
This commit is contained in:
ysq
2025-08-31 22:18:18 +08:00
parent 52a489ae80
commit 74781e5cbe
30 changed files with 1297 additions and 1259 deletions
+8 -11
View File
@@ -64,17 +64,14 @@ impl YellowstoneGrpc {
Some(UpdateOneof::Transaction(sut)) => {
let transaction_pretty = TransactionPretty::from((sut, created_at));
let event_pretty = EventPretty::Transaction(transaction_pretty);
let callback_clone = callback.clone();
tokio::spawn(async move {
if let Err(e) = Self::process_system_transaction(
event_pretty,
&*callback_clone,
)
.await
{
error!("Error processing transaction: {e:?}");
}
});
if let Err(e) = Self::process_system_transaction(
event_pretty,
&*callback,
)
.await
{
error!("Error processing transaction: {e:?}");
}
}
Some(UpdateOneof::Ping(_)) => {
let _ = subscribe_tx