Size: a a a

2020 November 30

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
так ты так код писал просто
Почему без неё memory leak'а нету тогда?🤔
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
метки - это одна функция с одним проходом внутри одного update cycle
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Почему без неё memory leak'а нету тогда?🤔
у тебя там код вызывается много раз и видимо внутри копится лик. то есть это твой код течет, а копится потому что исполняется не 1 раз, а много раз
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
так бы ты даже не заметил, но когда у тебя реактивность срабатывает 100 раз становится видно
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
у тебя там код вызывается много раз и видимо внутри копится лик. то есть это твой код течет, а копится потому что исполняется не 1 раз, а много раз
Нет, неправильно поняли.

Я выстроил цепочку вызовов вместо метки и теперь оперативная память перестала течь.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Нет, неправильно поняли.

Я выстроил цепочку вызовов вместо метки и теперь оперативная память перестала течь.
метка это и есть цепочка вызовов. посмотри аутпут просто
источник

МТ

Марк Танащук... in Svelte [svelt]
Раньше:

function someName() {
 //fetch;
 //code;

 triggerIsTriggered = true;
}

function myFunc() {
 // leak
}
$: triggerIsTriggered && myFunc()
источник

МТ

Марк Танащук... in Svelte [svelt]
Очень грубо написал конечно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
let foo = 1;
$: quux = baz/foo;
$: bar = foo++;
$: baz = bar+foo;
источник

МТ

Марк Танащук... in Svelte [svelt]
потом:

function someName() {
 //fetch;
 //code;

 myFunc()
}

function myFunc() {
 // no leak
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
let foo = 1;
let quux;
let bar;
let baz;

$$self.$$.update = () => {
    if ($$self.$$.dirty & /*foo*/ 1) {
        $: $$invalidate(2, bar = $$invalidate(0, foo++, foo));
     }

    if ($$self.$$.dirty & /*bar, foo*/ 5) {
         $: $$invalidate(1, baz = bar + foo);
     }

   if ($$self.$$.dirty & /*baz, foo*/ 3) {
       $: quux = baz / foo;
   }
};
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
не так уж и много кода. просто функция и выражения в ней
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Раньше:

function someName() {
 //fetch;
 //code;

 triggerIsTriggered = true;
}

function myFunc() {
 // leak
}
$: triggerIsTriggered && myFunc()
это к меткам не имеет отношения. это скорее всего про реактивность. потому что при изменении triggerIsTriggered, myFunc триттегится не сразу. в отличии от второго примера
источник

MV

Moonpax Vadim in Svelte [svelt]
Lupusregina[beta]
есть конкурс - игра в 13кб.
а тут селект несчастный на 15
Мда... интересно сколько весил jquery ui )))

#223kb весь jquey ui
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
видимо код был написан так, что это было важно - исполнить код в рамках одного коллстека
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
не так уж и много кода. просто функция и выражения в ней
Очень жаль что я Local History установил после рефакторинга, скинул бы пример.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Очень жаль что я Local History установил после рефакторинга, скинул бы пример.
а причем тут это? я тебе написал пример и сгенерированный код. сгенерированный код не большой в отношении к исходному. иными словами метки не генерируют много кода как ты написал выше
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
а причем тут это? я тебе написал пример и сгенерированный код. сгенерированный код не большой в отношении к исходному. иными словами метки не генерируют много кода как ты написал выше
Я к тому, что все на примерах с foobar не заканчивается и я не помню из-за чего конкретно с меткой вышел memory leak, но я помню что после простой перезаписи на прямой вызов он(memory leak) исчез
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Я к тому, что все на примерах с foobar не заканчивается и я не помню из-за чего конкретно с меткой вышел memory leak, но я помню что после простой перезаписи на прямой вызов он(memory leak) исчез
я тебе говорю почему. видимо твой код требовал исполнения внутри одного тика.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
иной разницы тут нету
источник