Если бы я установил Postgres на coLinux, это будет так же быстро, как установка Postgres в Windows? Насколько сильно отличался бы экземпляр coLinux, если бы данные хранились на смонтированном диске NTFS, а не в файле ext2 поверх NTFS?
Думаю, это зависит от того, как именно это работает. Теоретически, если он скомпилирован с использованием метода, который требует Win32 для его выполнения, то у вас есть тактовые циклы Windows для обработки инструкций ядра Linux для обработки инструкций Postgres SQL.
Фактически, Postgres SQL взаимодействует с Linux API, который выполняется «Windows».
Я говорю теоретически, потому что такие вещи, как чипы с поддержкой Intel VT, фактически запускают инструкции виртуальной машины на центральном процессоре напрямую, если они могут (вместо эмуляции процессора), поэтому единственное замедление - это запуск виртуального контейнера и взаимодействие пользовательского интерфейса с хостом через вещи например удаленный рабочий стол / консоли VMware.
Кроме того, в течение долгого времени у нас были такие технологии, как .Net, Python, Java и т. Д., Которые либо компилируются и интерпретируются во время выполнения, либо добавляют некоторый другой уровень обработки поверх Windows API. В большинстве случаев эти приложения не намного медленнее, чем собственные приложения Win32.
Так что я бы ответил: да, наверное, медленнее. Насколько медленнее и важно ли это для вас, я не знаю.
Для NTFS, смонтированной против ext2 поверх NTFS, в одном случае у вас есть виртуальная файловая система, выполняемая потенциально виртуальным ядром. В другом случае «виртуальное» ядро будет использовать свои собственные драйверы ntfs-3g для чтения файловой системы хостов. Я бы посоветовал монтировать NTFS в этом случае быстрее, но опять же, насколько сильно и пострадает ли в результате производительность вашего приложения, зависит от того, что вы пытаетесь сделать. В любом случае, он, вероятно, медленнее, чем собственный вариант PostgreSQL.