View Single Post
  #14  
Old 05-06-2018, 11:50
elit elit is offline
Registered User
 
Join Date: Jun 2017
Location: sun
Posts: 265
Thanks: 190
Thanked 325 Times in 119 Posts
elit is on a distinguished road
It all depends what actual "internal processing" is. Does it mean just dll's included inside exe, does it mean official source code translated to Pascal and included/compiled with project, or does it mean having your own self-written routines?

For 1. case there should be no difference, for case 2. and 3. my guess is that since Razor code in Borland's Delphi, that could be one reason for slower internal routines vs external dll's. Because I used to code in Borland's C++ back then and I remember it was not that fast. Also B. Pascal, just like B. C++ use own libraries, own compiler and both are object based languages. Which will be slower than standard direct C routines, say through MinGW. In most cases that is, few exceptions like STL aside.

Since dll's of codecs like lz4, zstd and most others are written in C and already optimized by its devs, they should be quicker as Delphi is then only used as a bridge for io calling. Yes normally internal routines should be always faster than calling external dll's, but only if under same environment and optimizations. Here we are basically talking B. Pascal vs C overhead and thats assuming routines are perfectly written or translated/optimized to Pascal which they may not be, so you get a speed difference based from both factors.

Dll's also give you ability to switch between different versions as long as they use same API which is another plus.
Reply With Quote
The Following User Says Thank You to elit For This Useful Post:
Razor12911 (14-06-2018)