Na verdade, não faz muita diferença, desde que você não use arquivos esparsos .
A criação de um arquivo "normal" com o dd alocará o arquivo (se possível) em uma única execução, enquanto a criação de um arquivo esparso dirá que você tem um arquivo de 10GB, mas não usa todo o espaço . Eu não tenho certeza se o mkswap não irá alocar o espaço de qualquer maneira, mas tipicamente um arquivo de swap irá crescer com o tempo e assim não alocará um setor contínuo (como parte do disco), mas alocará blocos conforme necessário fragmentação ao longo do tempo (claro, dependendo do seu uso do disco)
Internamente, o kernel do Linux acessará os blocos subjacentes de um arquivo de swap mais ou menos diretamente - não consigo encontrar o link agora mesmo, o que acontece sob o capô, você tem que confiar em mim, a menos que alguém encontre algo mais oficial. Tudo o que posso fazer agora é:- uma discussão sobre o slashdot
- o artigo de paginação da wikipedia
- algumas perguntas frequentes no ubuntu
tudo isso se aplica apenas à linha 2.6 dos kernels Linux.
Se você quer um ótimo desempenho (e o que é isso, realmente? ... trocar é lento, ponto final. Aumentar RAM para que você não troque por melhor performance), você iria querer use uma partição.