Multithreaded plugin functions can increase speed of Xojo application
Do you notice that with 4 Xojo threads, the plugin can actually get 4 CPU cores busy and get work done faster?
Over the last releases we added quite a few MT methods. Those are plugin methods which perform work on a preemptive thread. The Xojo thread calling them yields CPU time to other threads while it waits for the preemptive thread to finish work. And if you use several threads in Xojo already, this will help you keep more CPU cores busy.
Here a list of all MT methods:
- ABAddressBookMBS sharedAddressbookMT
- AUPlayerMBS LoadFileMT
- AVAssetExportSessionMBS exportMT
- CalCalendarStoreMBS eventsMT
- CGImageDestinationMBS FinalizeMT
- CGImageSourceMBS CreateThumbnailMT
- CIImageMBS imageWithContentsOfFileMT
- CIImageMBS imageWithDataMT
- CIImageMBS RenderPictureWithAlphaMT
- CipherMBS ProcessFile
- CURLSMBS PerformMT
- DigestMBS ProcessFile
- DigestMBS ProcessFile
- DNSLookupMBS LookupHostbyAddressMT
- DNSLookupMBS LookupHostbyNameMT
- DynaPDFMBS RenderPageToImageMT
- DynaPDFMBS RenderPDFFileExMT
- DynaPDFMBS RenderPDFFileMT
- DynaPDFRasterizerMBS RenderPageMT
- GMConvertMBS Run
- iTunesLibraryMBS Constructor
- LCMS2TransformMBS TransformLineStrideMT
- LCMS2TransformMBS TransformStrideMT
- MD5DigestMBS HashFile
- MLModelMBS predictionFromFeaturesMT
- NetSNMPMBS QueryMT
- NSFileManagerMBS copyItemMT
- NSImageMBS BMPRepresentationMT
- NSImageMBS GIFRepresentationMT
- NSImageMBS imageWithContentsOfFileMT
- NSImageMBS imageWithContentsOfPathMT
- NSImageMBS imageWithContentsOfURLMT
- NSImageMBS imageWithDataMT
- NSImageMBS JPEGRepresentationMT
- NSImageMBS JPEGRepresentationWithCompressionFactorMT
- NSImageMBS PNGRepresentationMT
- NSImageMBS TIFFRepresentationMT
- NSImageMBS TIFFRepresentationUsingCompressionMT
- PictureMBS ScaleMT
- RegExMBS ExecuteMemoryMT
- RegExMBS ExecuteMT
- SHA1MBS HashFile
- SHA256MBS HashFile
- SHA512MBS HashFile
- SQLCommandMBS ExecuteCommandMT
- SQLCommandMBS ExecuteMT
- SQLConnectionMBS ConnectMT
- SQLConnectionMBS SQLExecuteMT
- SQLConnectionMBS SQLSelectAsRecordSetMT
- SQLConnectionMBS SQLSelectMT
- SQLDatabaseMBS ConnectMT
- SQLDatabaseMBS SQLExecuteMT
- SQLDatabaseMBS SQLSelectMT
- SQLPreparedStatementMBS ExecuteSQLMT
- SQLPreparedStatementMBS SelectSQLMT
- SQLPreparedStatementMBS SQLExecuteMT
- SQLPreparedStatementMBS SQLSelectMT
- TesseractMBS RecognizeMT
- XLBookMBS LoadMT
- XLBookMBS LoadRawMT
- XLBookMBS SaveMT
- XLBookMBS SaveRawMT
- MandelbrotSetMBS
- DNSUtilMBS LookupMT
- NewCFObjectMBSFromXMLMT
- Folderitem QuickLookMTMBS
If you have ideas for other methods which could benefit from loading work off to another CPU core, please don't hesitate to contact us.