Sobre el archivo de prueba:

Se utilizará un archivo de texto plano con extensión .txt, el cual contiene 2.027.280 registros con 32 campos, sin separadores de "". El archivo pesa 257 megas.

Internamente los datos vienen separados por el carácter virgulilla “~”, sin espacios entre datos.

Ejemplo: dato~dato

Primera forma de carga:

df = read.table("BASE.txt",header = TRUE, sep ="~",quote = "")  #18 segundos aprox. 

Segunda forma de carga:

install.packages("readr", dependencies = TRUE)
library("readr")
df = read_delim("BASE.txt", delim = "~", quote = "")            #10 segundos aprox.

Tercera forma de carga:

install.packages("data.table", dependencies = TRUE)
library(data.table)
df = fread("BASE.txt", sep = "~", quote = "")                   #2 segundos aprox.

Nota: Claramente, si el archivo es grande, utilizar la tercera alternativa.

Saludos.