Проход в документации file
бросилось в глаза:Что именно Anonymous Файлы
## We can do the same thing with an anonymous file.
Tfile <- file()
cat("abc\ndef\n", file = Tfile)
readLines(Tfile)
close(Tfile)
Что же такое этот анонимный файл? Он существует на диске или только в памяти? Меня это интересует, поскольку я рассматриваю программу, которая потенциально может потребоваться для создания/удаления тысяч временных файлов, и если это произойдет только в памяти, похоже, что это будет иметь меньшее влияние на системные ресурсы.
Это linux SO Q похоже, что этот файл может быть настоящим файлом на диске, но я не уверен, насколько он подходит для данного конкретного примера. Кроме того, this big memory doc кажется, намекает на хранении на основе реального диска (хотя я предполагаю, основанный анонимный файл file
используется):
Следует также отметить, что пользователь может создать «анонимный» File- подкрепленную big.matrix, указав «» как аргумент отказа. В этом случае резервная копия находится во временном каталоге, и файл дескриптора не создается. Их следует использовать с осторожностью, поскольку даже анонимные базы используют дисковое пространство, которое может в конечном итоге заполнить жесткий диск. Анонимные резервные копии удаляются либо вручную, либо пользователем, либо автоматически, когда операционная система считает это уместным.
В качестве альтернативы, если textConnection
подходит для использования для данного типа приложения (открыть/закрыть сотни/тысячи раз), и только память, что бы удовлетворить мои потребности. Я планировал это делать до тех пор, пока я не прочитал примечание в документации этой функции:
В качестве текстовых соединений вывода сохраняются символы символа в строке по строке, они относительно дороги в использовании, и это часто лучше использовать анонимный файл() для сбора данных.
вы можете попробовать написать тонны данных и контролировать свои ресурсы (DISK vs RAM), чтобы узнать ... – flodel
@flodel, если я не могу найти ссылку, я попробую, хотя я бы обеспокоен возможностью различных реализаций на разных ОС. В идеале я предпочел бы полагаться на задокументированное поведение. – BrodieG
Анонимный файл - это всего лишь временный файл без дескриптора (вроде заголовка). Поэтому я думаю, что это зависит от вашей ОС, вы должны внимательно прочитать, что такое «временный файл» и как/где он хранится. – agstudy