seobeginner
ищу кнопку бабло
- Регистрация
- 5 Июл 2008
- Сообщения
- 222
- Реакции
- 59
- Автор темы
- #1
Возникла необходимость хранить данные в текстовой БД. (СУБД использовать не актуально, т.к. полей всего ничего, а вот строк много).
Потестил на время и потребление памяти файл на 7Мб (10 000 строк)
Самыми лучшими вариантами оказались классические - fopen и file_get_contents
Сериализацию попробовал, но она меня ужаснула скоростью и потреблением памяти.
file_get_contents + preg_match = отличная связка (самая быстрая, чтобы отыскать нужную строку). Но! Проблема в потреблении памяти. Т.е. он весь файл грузит в память (т.е все 7Мб в оперативке). Это прекрасно отображает функция memory_get_usage
Fopen + fgets() - медленнее в разы (если нужная строка не в первых 500 строках), но при этом memory_get_usage показывает, что потребление памяти вообще мизерное (несколько килобайт).
Вопрос к знатокам - действительно ли Fopen будет экономить оперативку.
Как насчет нагрузки на файловую систему (вроде как построчное считывание не очень хорошо).
Скорость работы меня устраивает и та, и другая, а вот потребление оперативки - критично. Поэтому хочется знать, что лучше выбрать.
Потестил на время и потребление памяти файл на 7Мб (10 000 строк)
Самыми лучшими вариантами оказались классические - fopen и file_get_contents
Сериализацию попробовал, но она меня ужаснула скоростью и потреблением памяти.
file_get_contents + preg_match = отличная связка (самая быстрая, чтобы отыскать нужную строку). Но! Проблема в потреблении памяти. Т.е. он весь файл грузит в память (т.е все 7Мб в оперативке). Это прекрасно отображает функция memory_get_usage
Fopen + fgets() - медленнее в разы (если нужная строка не в первых 500 строках), но при этом memory_get_usage показывает, что потребление памяти вообще мизерное (несколько килобайт).
Вопрос к знатокам - действительно ли Fopen будет экономить оперативку.
Как насчет нагрузки на файловую систему (вроде как построчное считывание не очень хорошо).
Скорость работы меня устраивает и та, и другая, а вот потребление оперативки - критично. Поэтому хочется знать, что лучше выбрать.