OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 26 Сентябрь, 2020 19:23

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Понедельник, 06 Январь, 2020 15:14 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 955
Две версии, почему это быстрее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Понедельник, 06 Январь, 2020 22:45 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1298
Sergej Durmanov писал(а):
Так при отображении файла в память мы не используем файловые операции, а обращаемся напрямую к памяти. Поэтому нет тормозов в работе

Мы не используем, но операции никуда не деваются. Данные из файла в память не магическим образом перемещаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Вторник, 07 Январь, 2020 13:55 

Зарегистрирован: Пятница, 11 Январь, 2019 19:26
Сообщения: 155
Откуда: Russia
Trurl писал(а):
Мы не используем, но операции никуда не деваются. Данные из файла в память не магическим образом перемещаются.

Речь, разумеется о том, что на уровне программиста работа идет не через файловые операции, а через обращение к памяти, на которую файл отображается. И естествеено, что ос оптимизирует отображение файлов в память. Поэтому это быстрее, чем обычные файловые операции


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Вторник, 07 Январь, 2020 14:58 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1396
Откуда: Украина, Киев
Народ, что мы обсуждаем?
Ещё в старом-добром Паскале можно было использовать команды блочного чтения/записи файлов, BlockRead/BlockWrite соответственно. Что давало возможность практически мгновенно прочитать/записать огромный файл. Чем это не "отображение в память"?
Ключевой момент здесь - чтение/запись с минимальным количеством обращений к медленному дисковому устройству.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Вторник, 07 Январь, 2020 15:08 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1396
Откуда: Украина, Киев
В турбо-паскале, кстати, даже был такой очень удобный класс TBufStream, который внутри работал через BlockRead/BlockWrite, а внешне предоставлял интерфейс чтения побайтово и кусками произвольных размеров.
Потом, когда появилась Delphi, про этот класс вообще почему-то забыли и выбросили его, оставив небуферизованный TFileStream. И если читать/писать через этот TFileStream побайтово всё будет ужасно медленно, т.к. дисковые устройства то не стали заметно быстрее со времён турбо-паскаля. В общем, Борланд делала косяк за косяком при эволюции Delphi...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Вторник, 07 Январь, 2020 15:51 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 955
По-моему, мы тут просто время теряем :D


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2020, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB