É, de fato, possível rodar um programa nativo do Linux (o mesmo binário, nenhuma alteração) em uma máquina Windows?
Testamos o famoso sofware John the Ripper no Windows 10 64 bits Insider Preview [1]. O John foi compilado no Ubuntu 14.04.4 LTS e copiado para o Windows junto com as bibliotecas necessárias [2]. O resultado foi bastante satisfatório e nenhum erro fatal ou insanável ocorreu. O desempenho do John executando no Windows até superou alguns resultados obtidos no Ubuntu.
Tabela 1. Comparativo de performance em quantidade de candidados avaliados por segundo (c/s) [3]
Formato |
Windows c/s [4] |
Linux c/s |
Linux c/s |
---|---|---|---|
raw-sha512 |
8933K |
9172K |
2641K |
raw-sha256 |
15347K |
14745K |
5271K |
sha512crypt |
2792 |
2671 |
520 |
sha256crypt |
3375 |
2871 |
653 |
Nota: K indica que o valor deve ser multiplicado por 1000.
Um programa 100% nativo Linux cheio de recursos avançados, inclusive syscall para fork, executando no Linux? Bonito de se ver!
[1] Este é um recurso em desenvolvimento pela Microsoft e Canonical.
[2] Para que o binário encontre as bibliotecas necessárias basta alterar o LD_LIBRARY_PATH.
[3] Resultados obtidos no mesmo computador, via dual-boot. No Linux, usamos o aplicativo SNAP disponível via Ubuntu Store para o 16.04 LTS.
[4] Rodando 6 threads (via OpenMP).
[5] Apenas uma thread em execução (via OMP_THREAD_LIMIT=1).