From ea9b1a111d1829f4714b9183830d6ec30b833804 Mon Sep 17 00:00:00 2001 From: "Wludzik, Jozef" Date: Wed, 17 Sep 2025 14:02:06 +0200 Subject: [PATCH] Fix performance degradation in Ubuntu Fix issue with creating backend for every inference iteration. The issue was caused by using std::map operator[] that created a pair with key and empty value. In Ubuntu std::map insert method won't override the key value in backend_map if key exists in map (created by operator[]) --- onnxruntime/core/providers/openvino/backend_manager.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/onnxruntime/core/providers/openvino/backend_manager.cc b/onnxruntime/core/providers/openvino/backend_manager.cc index 68d15bdfdcee0..99f28439db53a 100644 --- a/onnxruntime/core/providers/openvino/backend_manager.cc +++ b/onnxruntime/core/providers/openvino/backend_manager.cc @@ -672,7 +672,10 @@ void BackendManager::Compute(OrtKernelContext* context) { { std::unique_lock lock(mutex_); - dynamic_backend = backend_map_[key]; + auto it = backend_map_.find(key); + if (it != backend_map_.end()) { + dynamic_backend = it->second; + } } if (!dynamic_backend) {