4 ms·
With huge blobs of binary model weights, dynamic linking is cool again.
by dimtion 2y ago
With huge blobs of binary model weights, dynamic linking is cool again.
- inickt 2y agoWhich Apple has put some pretty large effort in the last few years to improve in iOS
- pjmlp 2y agoDynamic linking has always been cool for writing plugins. It is kind of ironic that languages that praise so much for going back to early linking models, have to resort for much heavier OS IPC for similar capabilities.
- rfoo 2y agoWhich languages? IIUC Go and Rust resort to OS IPC based plugin system mainly because they refused to have a stable ABI. On the other hand, at $DAYJOB we have a query engine written in C++ (which itself uses mostly static linking [1]) loading mostly static linked UDFs and ... it works. [1] Without glibc, but with libstdc++ / libgcc etc.
- pjmlp 2y agoWell if it loads code dynamically, it is no longer static linking. Also it isn't as if there is a stable ABI for C and C++ either, unless everything is compiled with the same compiler, or using Windows like dynamic libraries, or something like COM to work around the ABI limitations.
- skohan 2y agoDoesn’t rust’s static linking also have to do with the strategy of aggressive minimization? Iirc for instance every concrete instantiation of a dynamic type will have its own compiled binary, so it would basically be impossible for a dynamic library to do this since it wouldn’t know how it would be used, at least not without some major limitations or performance tradeoffs