Языки программирования семейства Pascal / Заметки о Делфи.
|
|
---|---|
#18+
Может все это знают и так, но вдруг кто-то не знает или забыл. Компилятор под Windows использует менеджер памяти, взятый из опенсорсного проекта FastMM. И у него есть такая фишка, он может при закрытии программы показать неосвобожденную память. ОС конечно всю виртуальную память процесса после его закрытия всё равно заберет, но тут можно видеть, какие объекты были созданы и не удалились. Делается это так: в файле проекта в начале после begin добавляется строчка: Код: Delphi 1. 2. 3. 4.
Код: Delphi 1. 2. 3. 4.
https://docwiki.embarcadero.com/RADStudio/Athens/en/Configuring_the_Memory_Manager ... |
|
:
|
|
29.02.2024, 14:25 |
|
Языки программирования семейства Pascal / Заметки о Делфи.
|
|
---|---|
#18+
Долгое время для измерения времени по-быстрому (хаха, прошу прощения за получившуюся игру слов) использовал функцию win32 API GetTickCount. Эта функция возвращает время в мсек от начала работы компьютера. Результат имеет тип Cardinal (беззнаковое 4 байтовое целое), так что он зацикливается после 49,7 примерно дней работы Windows. (Есть функция GetTickCount64, которая возвращает Int64). MS пишет: Цитата [игнорируется] Разрешение функции GetTickCount ограничено разрешением системного таймера, которое обычно находится в диапазоне от 10 до 16 миллисекундах. Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9.
Понятно, что тут не учитывается фактор многопоточности, что какое-то время поток, в котором выполняется код, мог спать в то время, когда (если) система выделила кусок (slice) времени другому или другим потокам. Но в последнее время часто, когда надо померить время, стал использовать точный таймер, для которого есть обертка в Delphi. Обертка в виде записи с методами. У этого таймера период обычно - 0.1 мксек, т.е. частота 10 000 000 гц. Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|
:
|
|
19.03.2024, 12:04 |
|
Start [/forum/search.php?do_search=1&replies_to=729433&author_mode=wrote_post]: |
0ms |
get settings: |
1ms |
get forum list: |
4ms |
searching: |
13ms |
get settings: |
1ms |
get forum list: |
23ms |
get found posts: |
35ms |
track hit: |
92ms |
get online users: |
56ms |
check new: |
1ms |
others: | 395ms |
total: | 621ms |
0 / 0 |