Multi-threading in Aspose.Email

Hi,

Does Aspose.Email on .NET support multi-threading?
Are the objects thread safe?
Looking to use the library in our product and this is one of the big design considerations we are making.

Thanks,
Srinidhi

@Srinidhi

Please read the following article about Multi-threading support in mail clients.
Multi-threading support in mail clients

Hope this helps you.

Hi Tahir,

I am using Aspose.Email for creating and managing PST files. Are the Aspose.Email.Mapi objects thread-safe?
Specifically, if I want to create a PST file and create multiple folders, messages and attachments from multiple threads, is it supported?

@Srinidhi

Please note that processing a single file (EML, MSG, PST, OLM etc.) in multithreading mode is not supported.

Hi Tahir,

  1. Do you have any benchmarks on the performance, particularly in the case of generating a PST file relative to the amount of data to be put into the file.
  2. If the objects are not thread-safe, is writing to multiple PST files and merging them at the end as a map-reduce implementation to create one big PST file the best way forward?
  3. Are there plans to support mutli-threading in future versions in view of the performance benefits?

We are looking to get a license for Aspose.Email and this information will help us make the decision faster.
Looking forward to hearing from you soon.

@Srinidhi

Unfortunately, we do not have benchmarks on performance to generate PST.

We have logged a ticket for your case as EMAILNET-40899 in our issue tracking system. We will inform you once there is an update available on it.

Hi Tahir,

Any update on this? I again want to reiterate that our decision on purchasing a license with Aspose for Email depends on getting answers to these questions and it would be great to get concrete answers.

Regards,
Srinidhi

@Srinidhi

Unfortunately, there is no update available on EMAILNET-40899. We will be sure to inform you once there is an update available on it. Thanks for your patience.

@Srinidhi

No, this way isn’t efficient in performance terms. Because the process of files merging is equal to the process of items writing in a single thread.

There are no such plans because the PST file format wasn’t designed for multiple threads writing.

To increase performance, we suggest bulk methods to add or delete multiple items.

Moreover, please read the following article.
Working with large PST files

Hi Tahir,

Thanks for the clarification.
We are looking at generating larger PST files (max supported 50GB file size), are there any performance benchmarks now that we can refer before diving into it ourselves?

It would be of great help if you could provide definitive answers to what Aspose.Email supports and doesn’t in terms of generating these large files and what the estimated time to generate a 50GB file is?

@Srinidhi,

The approximate time depends on the email you add (size, content, number of attachments, etc.). We can’t test all user cases, but you can get a free temporary license and check it all on your side.

Thanks.

Hi DmitryS,

I understand all user cases cannot be test, but are there any benchmarks that exists internally or published to the public that you can share with me to get an idea?
To simplify my question, are there any performance numbers for different file sizes?
How long does it take to create a 5GB, 10GB, … 50GB PST file?

@Srinidhi,

I am not informed that there are any performance tests for large files. We have not created such large files because it is rare for usage.

And again, performance is significantly affected by the following parameters:

  • a size of the items to be added
  • a number and size of attachments per item
  • a size of the HTML body in the item
  • a format of added source items (msg, eml or something else)

In addition, the performance will be also affected the test environment.

That is why test results may be different.

Thank you.