|
|
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
День добрый. Есть ли в Дельфи компоненты, позволяющие работать с маппированными файлами. Желательно, наследники TFileStream ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 14:58 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Работа с такими файлами принципиально не укладывается в интерфейс TStream. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 15:03 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Мой гугл сразу выдал ссылку на https://torry.net/pages.php?id=228 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 15:06 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Работа с такими файлами принципиально не укладывается в интерфейс TStream. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 15:33 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_TIBBlobStream укладывается, а MMF нет BLOB - поток данных неизвестного размера, последовательно читаемый кусками. MMF - кусок данных заданного размера. Ничего общего. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 15:57 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Работа с такими файлами принципиально не укладывается в интерфейс TStream. Серьёзно?.. Я в своё время пытался прикрутить TSteam к MMF ради эксперимента, но за ненадобностью не доделал. Но ничего "принципиального" я там не вижу. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 16:18 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
alekcvp Dimitry Sibiryakov Работа с такими файлами принципиально не укладывается в интерфейс TStream. Серьёзно?.. сибиряков любит поумничать в то время, как существует пара десятков реализаций mmf поверх TStream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 16:47 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
моя реализация, проверенная годами работы. На маке и линухе работает, на андроиде тоже. Проверок на права доступа к файлу и т.д. - тут нет, они делаются до этого момента. Первоначально где-то слизал, потом перепилил. Где - уже не вспомню, очень уж давно это было. P.S. Меня до сих пор удивляет, что таких вещей нет в базовой поставке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 16:52 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Vizit0rP.S. Меня до сих пор удивляет, что таких вещей нет в базовой поставке. Какие преимущества оно даёт по сравнению с TFileStream? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:07 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Угу. Я тоже не понимаю зачем в реальной жизни нужны "маппированные" файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:12 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
DmSerКакие преимущества оно даёт по сравнению с TFileStream? Никаких. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:13 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Мне надо, чтобы файлик записался, даже несмотря на то, что процесс умер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:17 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Нашел компонент с Торри по ссылке выше, допилил под использование с файлами, созданными через CreateFile, а не просто область в памяти, все заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:18 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
rgreat Угу. Я тоже не понимаю зачем в реальной жизни нужны "маппированные" файлы. На самом деле, именно в реализации TStream - пользы никакой, а вообще если работать через API, то доступ будет быстрее т.к., как я понимаю, MapViewOfFile() тупо возвращает адрес данных в файловом кэше и исключается лишнее копирование памяти туда-сюда, особенно в случае последовательного доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:18 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Ежов Дмитрий Сергеевич Мне надо, чтобы файлик записался, даже несмотря на то, что процесс умер. Это можно решить через FlushFileBuffers после записи данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:19 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
alekcvp, Это может решить только венда. Никаких FlushBuffer нет, процесс умер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:20 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
На самом деле, маппированный файл глубоко используется в нашей 1С-очке. https://its.1c.ru/db/metod8dev/content/5860/hdoc Пользователи сидят клиентами на серверном процессе rphost, который хранит всю их актуальную инфу в сеансовых данных, по факту в памяти. Серверный процесс падает (либо его рубит админ), менеджер сервера обнаруживает это, создает новый серверный процесс, который подтягивает сеансовые, которые уже записала венда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:23 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
alekcvpкак я понимаю, MapViewOfFile() тупо возвращает адрес данных в файловом кэше Судя по "A mapped view of a file is not guaranteed to be coherent with a file that is being accessed by the ReadFile or WriteFile function." это не так. Ежов Дмитрий СергеевичМне надо, чтобы файлик записался, даже несмотря на то, что процесс умер. Тогда просто всегда пиши WriteLn в паре с Flush. Ну или почини процесс, чтобы не умирал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:26 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
мммм, неумирающий серверный процесс в сложных системах, без утечек памяти и кривых сторонних компонентов и кривого легаси от девопса. Что может быть естественней... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:29 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Ежов Дмитрий СергеевичЧто может быть естественней... Использование инструментов тестирования и культуры программирования. Кто из дельфинов нынче на это способен?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:32 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
DmSer Vizit0rP.S. Меня до сих пор удивляет, что таких вещей нет в базовой поставке. Какие преимущества оно даёт по сравнению с TFileStream? насколько я помню из результатов изначального сравнения - MMF дает большой прирост к скорости непоследовательного чтения (записи нет). Ну и плюс доступ по указателю упрощает код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 17:58 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Судя по "A mapped view of a file is not guaranteed to be coherent with a file that is being accessed by the ReadFile or WriteFile function." это не так. Вообще не вижу взаимосвязи. ReadFile читает данные в буфер и после этого они там не меняются, при изменении файла. MMF, как я понимаю, отображает всё в живую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 18:14 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
alekcvpВообще не вижу взаимосвязи. ReadFile читает данные в буфер и после этого они там не меняются, при изменении файла. WriteFile пишет данные с системный буфер. Если бы этот буфер отображался сразу на память - данные в нём должны всегда соответствовать тому, что записало WriteFile. И наоборот: что записано в MMF, всегда должно получиться из ReadFile. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 18:26 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Ежов Дмитрий Сергеевич мммм, неумирающий серверный процесс в сложных системах, без утечек памяти и кривых сторонних компонентов и кривого легаси от девопса. Что может быть естественней... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 18:30 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Ежов Дмитрий Сергеевич Мне надо, чтобы файлик записался, даже несмотря на то, что процесс умер. Ежов Дмитрий Сергеевич alekcvp, Это может решить только венда. Никаких FlushBuffer нет, процесс умер. например, классический подход - это "ведение журнала операций + периодическое сохранение всего состояния" в случае обвала 1. берётся последнее сохранённое состояние, 2. ищется запись в журнале, которая соответствует этому состоянию, и накатываются все операции, сохранённые в журнале после неё NTFS, кстати, практически по такому же принципу работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 19:48 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Ежов Дмитрий Сергеевич Мне надо, чтобы файлик записался, даже несмотря на то, что процесс умер. MMF для этого не предназначен, и не сможет такого гарантировать. Гарантия записи при смерти юзер процесса появляется после закрытия системного хэндла (HFILE). Если нужно гарантировать - закрывайте файл (все хэндлы) и открывайте заново. По-другому мне неизвестно. MMF был первоначально сделан для внутренних нужд Винды, и оптимизации там касаются в основном чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 20:16 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Vizit0r насколько я помню из результатов изначального сравнения - MMF дает большой прирост к скорости непоследовательного чтения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 21:11 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Ежов Дмитрий Сергеевич мммм, неумирающий серверный процесс в сложных системах, без утечек памяти и кривых сторонних компонентов и кривого легаси от девопса. Что может быть естественней... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 21:12 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Vizit0r насколько я помню из результатов изначального сравнения - MMF дает большой прирост к скорости непоследовательного чтения по паре кб, но в разных местах файла, и часто-частно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 22:24 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Vizit0r, а файл, меньше двух гигов, и не sparse? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 22:45 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Vizit0r _Vasilisk_ Зависит от того, какими блоками читать. Если по одному байту, то дает, а если по 4096 байт, то выигрыша вообще нет. Т.е. сама операция чтения проходит быстрее, но для MMF тратится куча времени на вызов MapViewOfFile по паре кб, но в разных местах файла, и часто-частно. В этом случае ММФ должен рулить, особенно если working set небольшой. Работа с памятью намного привычнее и удобнее чем seek/read, и ММФ не требует загрузки всего файла в память. Без ММФ, если вы выделите массив, и прочитаете туда весь файл чтоб получить удобства памяти, этот массив все равно будет участвовать в ММФ без вашего ведома, только не с первоначальным файлом, а с pagefile. И тогда может оказаться медленнее, т.к. выгрузка в pagefile требует запись на диск, а read-only MMF просто выкидывает старые страницы и читает их заново из оригинала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2020, 22:54 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL ММФ не требует загрузки всего файла в память. Вызовите MapViewOfFile для 100 мегабайт и посмотрите не время візова и на потребляемую память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 10:48 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, MMF поднимает в память только те данные, к которым происходит обращение. Кроме того, поднятые в память страницы в любой момент могут быть отданы системе, если будет такая необходимость. Если ты последовательно прошелся по всему файлу, то, в зависимости от условий выполнения, в рабочем наборе приложения может быть полный набор страниц файла, но это не то же самое, что выделить буффер и засосать в него весь файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:39 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey MMF поднимает в память только те данные, к которым происходит обращение Я когда-то проводил опыты по чтению файла разными кусками и разными способами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 12:39 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Рихтера перечитай. з.ы. Показания диспетчера нужно ещё правильно интерпретировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 12:49 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL Vizit0r, а файл, меньше двух гигов, и не sparse? файлы в районе 100-150 мб, а sparce - это имееется в виду фрагментированность? Если да, то специальной дефрагментацией никто не заморачивается, ни я, ни тем более пользователи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 12:50 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Vizit0r НеофитSQL Vizit0r, а файл, меньше двух гигов, и не sparse? файлы в районе 100-150 мб, а sparce - это имееется в виду фрагментированность? Если да, то специальной дефрагментацией никто не заморачивается, ни я, ни тем более пользователи. Sparse file - это файлы с дырками, для которых не отведено место на диске. Например, в первом килобайте есть данные, в 100500 килобайте есть данные, а между ними нет ничего, и места на диске не занимает. Дырка при чтении даст нули, а при записи начнет аллокировать кластеры диска, или какие там у конкретной системы единицы аллокации. Если у вас таких файлов нет, то это не ваш головняк. Фрагментация диска на работу ММФ не влияет, 200МБ позволяет легко работать хоть из 32-бит, хоть из 64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 17:44 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Kazantsev Alexey MMF поднимает в память только те данные, к которым происходит обращение Я когда-то проводил опыты по чтению файла разными кусками и разными способами Вы безусловно знакомы с разными методами подсчета памяти, и знаете почему один процесс может запросить, и получить больше памяти чем присутствует на компьютере. для ММФ немедленно выделяется виртуальное пространство (интервал адресов) из пространства процесса. Сколько начально поднимается с диска, зависит от оптимизаций в конкретной версии винды, возможно где-то описано, я уже не помню. Вы можете это легко проверить, применив ММФ к файлу больше, чем количество свободной физической памяти на компе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 17:50 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
в копилку еще вариант (MappedFile.zip): https://www.nzlab.dk/codesnippets/codesnippets.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2020, 11:19 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey _Vasilisk_, Рихтера перечитай. з.ы. Показания диспетчера нужно ещё правильно интерпретировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2020, 14:51 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock Kazantsev Alexey _Vasilisk_, з.ы. Показания диспетчера нужно ещё правильно интерпретировать. Открыть - это как? Сделать ему MapView на весь объём?.. А зачем, если можно по частям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2020, 16:22 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock Шо там интерпретиовать. Что там интерпретировать... А потом начинают путать адресное пространство с выделяемой памятью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2020, 16:34 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
alekcvp Открыть - это как? Сделать ему MapView на весь объём? alekcvp А зачем, если можно по частям? А вообще, могло бы быть полезно для удобства - для передачи в функцию, которая принимает указатель на память и размер. Например, в виндовую CryptHashData. Было бы прикольно, если бы винда держала бы в памяти только нужный блок, по которому идут обращения. Ну это так - мечты, мечты. Понятно, что это невозможно, т.к. винда знать не знает об этих обращениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 07:30 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock А вообще, могло бы быть полезно для удобства - для передачи в функцию, которая принимает указатель на память и размер. Например, в виндовую CryptHashData. Было бы прикольно, если бы винда держала бы в памяти только нужный блок, по которому идут обращения. Ну это так - мечты, мечты. Понятно, что это невозможно, т.к. винда знать не знает об этих обращениях. 1. Так 2 гига - это лимит на размер памяти в x86 винде, если без плясок с бубном. Как ты его весь под файл отдашь?.. 2. Ну как бы через ReadFile() ты такое тоже не вычитаешь, т.е. не вижу тут никаких недостатков перед ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 10:48 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock Понятно, что это невозможно, т.к. винда знать не знает об этих обращениях. Винда-то, как раз, знает. Без этого знания не работал бы пейджинг. В таск менеджере даже счётчик соответствующий есть, Page Faults называется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 13:43 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
ЕМНИП, при стандартном чтении менеджер кэша винды создает секции читаемого файла по 256кб. Это тоже mmf. Как и исполняемые файлы, и динамические библиотеки и пр. В книжке Руссиновича все это есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 14:56 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
alekcvp Так 2 гига - это лимит на размер памяти в x86 винде alekcvp через ReadFile() ты такое тоже не вычитаешь, т.е. не вижу тут никаких недостатков перед ним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 15:20 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey YuRock Понятно, что это невозможно, т.к. винда знать не знает об этих обращениях. Винда-то, как раз, знает. Без этого знания не работал бы пейджинг. В таск менеджере даже счётчик соответствующий есть, Page Faults называется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 15:26 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock Это просто счетчик ошибок доступа. Но а вешать костыль на определение, mmf это или нет, и если да - при необходимости дочитывать кусочек - этого винда не делает. Конечно это счётчкик ошибок доступа. Когда ты мапишь файл, то физические страницы под него не выделяются, а просто резервируется адресное пространство. Затем, при попытке обратится по адресу из зарезервированного диапазона, возникает ошибка доступа т.к. реальной страницы в памяти нет. Система обрабатывает этот случай и подгружает страницу. Таким образом, счётчик увеличивается, а ты получаешь актуальные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2020, 16:11 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock, гугли: защищенный режим X86, дескрипторы страниц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2020, 00:36 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
[quot YuRock#22233016] Kazantsev Alexey Но а вешать костыль на определение, mmf это или нет, и если да - при необходимости дочитывать кусочек - этого винда не делает. И я считаю, что это верно. Хотя и жаль, конечно. С точностью до наоборот. Все аллокированное виртуальное пространство винды является ММФ. И на каждом кусочке этого пространства стоит костыль. И когда костыль говорит что данных нет в памяти, винда идет и подкачивает его с диска. Это как бы основы виртуальной памяти. Не понимая их, очень трудно понять ММФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2020, 02:50 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) гугли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2020, 08:46 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL Не понимая их, очень трудно понять ММФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2020, 08:48 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
YuRock НеофитSQL Не понимая их, очень трудно понять ММФ. Никак. В 32-битной архитектуре адресное пространство не может превышать 4ГБ. У 32-битной винды максимальное пользовательское пространство 3ГБ, по умолчанию 2 ГБ. Для последовательного доступа ММФ не предлагает никаких преимуществ. Считать можно так: Код: plaintext 1. 2. 3. 4. 5. Функции этого семейства считаются устаревшими, Майкрософт рекомендует пользоваться новыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2020, 13:36 |
|
||
|
Файлы, отображаемые в память.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL YuRockПрекрасно. Ты мне скажи, как с помощью ММФ и функции CryptHashData посчитать хэш 4гб файла на x86? Никак.Спасибо. Это всё, что я хотел уточнить. Для понимания ММФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2020, 15:13 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2037859]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
103ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 498ms |

| 0 / 0 |
