We are using Aspose.slides for c++ (version 24.5) to read presentation object. To improve performance, we want to be able to process each slide on separate thread. So we wanted to ask can we access each slide parallely?
Please note that we are just reading slide and slide item properties. No write operation is required.
While parallel work with presentations is possible (except for parsing, loading, or cloning), and it generally works well, there is a small chance of encountering incorrect results when using the library in multiple threads.
We strongly recommend against using a single Presentation instance in a multi-threaded environment, as it can lead to unpredictable errors or failures that are difficult to detect.
I would like to gain a deeper understanding of why extracting each slide on a separate thread is not considered thread-safe. Is this behavior attributed to mechanisms like lazy loading or caching, or are there other underlying factors contributing to this limitation?
I have tried the multithreading method posted in the mentioned article. Mostly things are working fine, but I see a loss in performance, where AddClone() call is taking much time.
Any reason why this call is expensive? This is taking away all the multithreading gain.
Also, any there any other ways to improve performance on reading slide data?
Please note that our usecase is loading the ppt in read-only format only. No edits are required.
We are sorry that you encountered this problem. Could you please clarify whether you observe a performance loss in the AddClone method in all presentations or only in specific cases? What exactly did you compare it to? Could you please provide your measurement values?
Could you please clarify what exactly you mean by reading slide data? What performance issues did you encounter? We will do our best to help you.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
Enables storage, such as cookies, related to analytics.
Sets consent for sending user data to Google for online advertising purposes.
Sets consent for personalized advertising.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
More info
Enables storage, such as cookies, related to analytics.
Enables storage, such as cookies, related to advertising.
Sets consent for sending user data to Google for online advertising purposes.
Sets consent for personalized advertising.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
More info
Enables storage, such as cookies, related to analytics.
Enables storage, such as cookies, related to advertising.
Sets consent for sending user data to Google for online advertising purposes.