<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Часы, таймер, секундомер]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=12932&amp;type=atom" />
	<updated>2017-08-22T10:44:38Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=12932</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118647#p118647" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Я бы не напрягался по этому поводу. Разве что реально большие объёмы бы накапливались.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2017-08-22T10:44:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118647#p118647</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118644#p118644" />
			<content type="html"><![CDATA[<p>Ну так я не модератор чтобы посты перенести в новую. Тут обсуждаем класс, в данном случае его возможную недоработку.<br /><strong>YMP</strong> вообщем вопрос снимаестя?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-08-22T08:52:21Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118644#p118644</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118639#p118639" />
			<content type="html"><![CDATA[<p>При уничтожении объекта его память должна освобождаться автоматически, за это отвечает сам объект — в данном случае его реализация внутри AutoHotkey. Никакие дополнительные усилия не должны требоваться.</p><p>AutoHotkey может иметь свои соображения насчёт того, освобождать ли память сразу или нет. Кроме того, в любом процессе выполняется не только код приложения, но и код ОС. Может, этот остаток был выделен для чего-то системой, откуда нам знать.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2017-08-22T03:58:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118639#p118639</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118638#p118638" />
			<content type="html"><![CDATA[<p>Типа буфер ListVars забивается именами переменных, т.к. если давать длинные имена, то забивается кратно больше памяти.<br /></p><div class="codebox"><pre><code>#NoEnv
ListLines Off

Loop 100000
{
   longlonglonglonglonglonglonglonglonglong_name%A_Index% := &quot;a&quot;
   VarSetCapacity(longlonglonglonglonglonglonglonglonglong_name%A_Index%, 0) 
}
ListVars</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-08-22T00:31:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118638#p118638</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118637#p118637" />
			<content type="html"><![CDATA[<p>А объекты тут не при чём.<br />Происходит такая же утечка, так как переменные фактически не стираются.<br /></p><div class="codebox"><pre><code>Loop
{
   obj%A_Index% := &quot;a&quot;
   obj%A_Index% := &quot;&quot;
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-08-22T00:18:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118637#p118637</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118636#p118636" />
			<content type="html"><![CDATA[<p>Как понять уменьшить потребляемую? Скорее очистить непотребляемую. Например было занято 2000кб, создали экземпляр стало 2064кб, удалили экземпляр должно стать 2000кб, иначе получается утечка памяти по каждой операции создания \ удаления экземпляра.</p><p>Например понадобится создавать экземпляр который весит 10мб, через секунду он отработает, и удалившись очистит только 4кб, и так в цикле. С такими &quot;хвостами&quot; память переполнится быстро.</p><div class="codebox"><pre><code>Loop
{
	obj%A_Index% := New Class()
	obj%A_Index%.DeleteObj()
}

Class Class {
   __New() {
   }
   DeleteObj() {
		This.Delete(Chr(0), Chr(0x10FFFF)) 
		This.Delete(This.MinIndex(), This.MaxIndex())
		This.SetCapacity(0)
		This.Base := &quot;&quot;
   }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-08-21T22:47:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118636#p118636</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118635#p118635" />
			<content type="html"><![CDATA[<p>Для порядка вроде же как освободили в 20 сообщении.<br />Но я так понял, что <strong>serzh82saratov</strong> хочет именно уменьшить потребляемую оперативную память.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-08-21T22:16:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118635#p118635</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118634#p118634" />
			<content type="html"><![CDATA[<p>Ну, всю память освобождать не обязательно (если там не мегабайты), но для порядка нужно, чтобы не могло быть нежелательных срабатываний при ошибочном вызове его методов или свойств.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-08-21T22:14:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118634#p118634</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118633#p118633" />
			<content type="html"><![CDATA[<p>А для чего именно нужно память объекта освободить?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-08-21T22:07:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118633#p118633</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118632#p118632" />
			<content type="html"><![CDATA[<p>Так у нас разве такая задача? Нам нужно только память объекта освободить.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-08-21T21:12:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118632#p118632</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118631#p118631" />
			<content type="html"><![CDATA[<p>Оперативную память потребляемую процессом.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-08-21T21:11:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118631#p118631</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118630#p118630" />
			<content type="html"><![CDATA[<p>Что именно освободить-то?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-08-21T21:02:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118630#p118630</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118629#p118629" />
			<content type="html"><![CDATA[<p>Можно так освободить (правда надо тестировать к чему это может привести):<br /></p><div class="codebox"><pre><code>dllcall(&quot;psapi.dll\EmptyWorkingSet&quot;, &quot;ptr&quot;, -1)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-08-21T20:51:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118629#p118629</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118626#p118626" />
			<content type="html"><![CDATA[<p>ObjRelease() сам по себе не освобождает память, а только уменьшает на единицу количество ссылок на него.<br /></p><div class="codebox"><pre><code>obj := New Class()
ptr := Object(obj)
MsgBox, % ObjRelease(ptr)

Class Class {
   __New() { 
      this.test := &quot;test&quot;
   }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-08-21T19:50:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118626#p118626</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Часы, таймер, секундомер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=118624#p118624" />
			<content type="html"><![CDATA[<p>Да, ключи вроде все чистит. Вообщем ничего кроме этого пока науке неизвестно?<br /></p><div class="codebox"><pre><code>This.Delete(Chr(0), Chr(0x10FFFF)) 
This.Delete(This.MinIndex(), This.MaxIndex())
This.SetCapacity(0)
This.Base := &quot;&quot;
</code></pre></div><p>Но только освобождается памяти в разы меньше, чем занимается при создании экземпляра (6 пост). </p><p>А чисто теоретически, почему ObjRelease(&amp;this) не годится для этих целей?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-08-21T19:23:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=118624#p118624</id>
		</entry>
</feed>
