В последнее время меня заколебали глюки FreePascal'я и мудаки среди его разработчиков, которые пишут говно-код и строят фееричные мнения относительно того, как должен работать их компилятор... Но не будем углубляться в тему какого фига const на 64-битах они трактуют для аргументов функций по другому, нежели на 32-битах, а именно копируют по стеку все данные(что просто невероятно убивает производительность большинства вычислений сложнее работы с обычными типами данных), и перейду к вопросу, что эти мудаки за столько лет для 64-бит используют неоптимизированную реализацию move(от чего, по заявлению в багтрекере, у меня тормозит SetLength). Всем, кто не знает Pascal, можете не углубляться, процитирую кое-какой текст:
On Linux/i386, the «move» routine from the fastcode project is used. On Linux/x86_64, a generic Pascal implementation is used. On Mac OS X, we always use the libc version.
На вопрос(хотя я уже потом вспомнил, что FPC на линуксах абсолютно независим):
Why not to use it on Linux?
получил ответ:
blablablabla... And the reason for not using libc, is that libc is not the same on all different Linux distributions, and not always completely backwards compatible (although I believe that's less of a problem nowadays). That means that depending on libc can make it harder to distribute compiled programs that work everywhere.
Теперь главный мой вопрос - чем, б*ь, libc на MacOS X(разных версий) отличается большей совместимостью/стабильностью, чем на дистрибутивах Linux? И впрямь все так хреново и какой-то более-менее известный дистрибутив предоставляет какую-то калечную версию libc несовместимую с другими, или разработчики живут каким-то 2001-2002?