Информация об изменениях

Сообщение Re[15]: Почему MS Edge - не под .Net? от 11.12.2017 16:26

Изменено 11.12.2017 16:33 Pauel

Re[15]: Почему MS Edge - не под .Net?
Здравствуйте, Nuzhny, Вы писали:

N>Давай проверим.


А ты достаточно крепок, дружок ?

N>Аналогичный тест:


Аналогичный, это какой именно ?

I>>Ну вот я взял этот квантум, 57.0.2 64, и пусканул жээсный тестик, который обсуждается в соседнем треде. Чет не впечатлился — втрое медленнее Хрома


N>У меня один тест быстрее, а другой медленнее. Причём FF быстрее Хрома в первом тесте в 10 раз, а во втором медленнее в 1.5. Что-то не сходится с твоими данными.


Не совсем понятно, что такое один, а что такое второй Судя по твоей картинке ты запустил какую то левую хрень, но утверждаешь, что де не сходится с моим тестом.

Смотри внимательно:

  Фокс

  Хром

  Память


Гыыыыыы Поздновато замерил — фокс выжрал больше 2х гб и пошел на спад.
Про "втрое" я погорячился — по сортировке все четверо.
И похоже с хромом я "подмухлевал" — открыл страницу дважды , т.е. 700мб это ажно с запасом.

N>Отлично листается и рисуется в обоих браузерах.


Ога.

I>>И память сожрал, и проц не смог выюзать, и рисует коряво. Пудозреваю, на слабых ноутбуках-планшетах это говно будет уходить в своп, как дети в школу


N>Смотрим на память. В сумме Хром занимает где-то 1.3 Гб, а FF 800 Мб. Хм!


Ну так глянь что у меня выходит

I>>Вобщем, неочевидно, где Фокс стал круче. Может он стал круче предыдущей версии Фокса?


N>Кажется, что тут проблема не в FF, а в честности.


Это какая то эпидемия Один говорит, что я в вру в одну сторону, другой — что вру в противоположную. Сам подумай, как я могу врать в обе стороны одновременно ?

Вот тест, про который идет речь, и замеры отсюда ты видишь в скринах выше
  тест
'use strict';

const N = 1000*1000;
const re = /-/g;

function Main(number) {
    let watch = Date.now();
    const vals = ToArray(Select(Range(0, number), x => new TestClass()));

    console.warn(`Init, miliseconds: ${Date.now() - watch}`);
    watch = Date.now();
    QuickSort(vals, (x,y)=>x.Id < y.Id);
    console.warn(`Sort miliseconds: ${Date.now() - watch}`);
}

function QuickSort(vals, less){
    QuickSortImpl(vals, less, 0, vals.length - 1);
}

function QuickSortImpl (vals, less, left, right) {
    if (right <= left)
        return;

    let i = left;
    let j = right;
    const mid = Math.floor((left + right) / 2);
    const midVal = vals[mid];

    while (i <= j) {
        while (less(vals[i], midVal)) {
            i++;
        }

        while (less(midVal, vals[j])) {
            j--;
        }

        if (i <= j) {
            const tmp = vals[i];
            vals[i] = vals[j];
            vals[j] = tmp;

            i++;
            j--;
        }
    }

    if(left < i - 1) {
        QuickSortImpl(vals, less, left, i - 1);
    }

    if(right > i) {
        QuickSortImpl(vals, less, i, right);
    }
}

class TestClass {
    constructor() {
        this.Id = CreateGuid();
        this.Value = CreateGuid();
    }

    toString() {
        return this.Id;
    }
}

function ToArray(iterator) {
    return [...iterator];
}

function* Range(start, end) {
    for(let i = start; i<end; i++) {
        yield i;
    }
}

function* Select(iterator, projector) {
    for(let x of iterator) {
        yield projector(x);
    }
}

function Compare(x, y) {
    if(x > y)
        return 1;
    if(x < y)
        return -1;
    return 0;
}


function CreateGuid() {
    return NewGuid().replace(re, "");
}

function NewGuid() {
    function s4() {
        return (0|(1 + Math.random() * 0x10000) & 0xFFFF)
            .toString(16);
    }
    return [s4() , s4() , '-' , s4() , '-' , s4() , '-' , s4() , '-' , s4() , s4() , s4()].join('');
}

function delay(time) {
    return new Promise((resolve)=>{
        setTimeout(resolve, time);
    });
}

for(let i = 0, promise = Promise.resolve(); i<100;i++) {
    promise = promise.then(()=>Main(N)).then(()=>delay(1000));
}
Re[15]: Почему MS Edge - не под .Net?
Здравствуйте, Nuzhny, Вы писали:

N>Давай проверим.


А ты достаточно крепок, дружок ?

N>Аналогичный тест:


Аналогичный, это какой именно ?

I>>Ну вот я взял этот квантум, 57.0.2 64, и пусканул жээсный тестик, который обсуждается в соседнем треде. Чет не впечатлился — втрое медленнее Хрома


N>У меня один тест быстрее, а другой медленнее. Причём FF быстрее Хрома в первом тесте в 10 раз, а во втором медленнее в 1.5. Что-то не сходится с твоими данными.


Не совсем понятно, что такое один, а что такое второй Судя по твоей картинке ты запустил какую то левую хрень, но утверждаешь, что де не сходится с моим тестом.

Смотри внимательно:

  Фокс

  Хром

  Память


Гыыыыыы Поздновато замерил — фокс выжрал больше 2х гб и пошел на спад.
Про "втрое" я погорячился — по сортировке все четверо.
И похоже с хромом я "подмухлевал" — открыл страницу дважды , т.е. 700мб это ажно с запасом. То есть, в хроме открыто несколько вкладок, из которых тестовая — дважды. Если оставить только одну — будет меньше 400мб. Смотрим на твои 800мб у фокса и дико смеёмся

N>Отлично листается и рисуется в обоих браузерах.


Ога. А видеокарта у тебя какая ? У меня — интегрированая в материнку, интел.

I>>И память сожрал, и проц не смог выюзать, и рисует коряво. Пудозреваю, на слабых ноутбуках-планшетах это говно будет уходить в своп, как дети в школу


N>Смотрим на память. В сумме Хром занимает где-то 1.3 Гб, а FF 800 Мб. Хм!


Ну так глянь что у меня выходит

I>>Вобщем, неочевидно, где Фокс стал круче. Может он стал круче предыдущей версии Фокса?


N>Кажется, что тут проблема не в FF, а в честности.


Это какая то эпидемия Один говорит, что я в вру в одну сторону, другой — что вру в противоположную. Сам подумай, как я могу врать в обе стороны одновременно ?

Вот тест, про который идет речь, и замеры отсюда ты видишь в скринах выше
  тест
'use strict';

const N = 1000*1000;
const re = /-/g;

function Main(number) {
    let watch = Date.now();
    const vals = ToArray(Select(Range(0, number), x => new TestClass()));

    console.warn(`Init, miliseconds: ${Date.now() - watch}`);
    watch = Date.now();
    QuickSort(vals, (x,y)=>x.Id < y.Id);
    console.warn(`Sort miliseconds: ${Date.now() - watch}`);
}

function QuickSort(vals, less){
    QuickSortImpl(vals, less, 0, vals.length - 1);
}

function QuickSortImpl (vals, less, left, right) {
    if (right <= left)
        return;

    let i = left;
    let j = right;
    const mid = Math.floor((left + right) / 2);
    const midVal = vals[mid];

    while (i <= j) {
        while (less(vals[i], midVal)) {
            i++;
        }

        while (less(midVal, vals[j])) {
            j--;
        }

        if (i <= j) {
            const tmp = vals[i];
            vals[i] = vals[j];
            vals[j] = tmp;

            i++;
            j--;
        }
    }

    if(left < i - 1) {
        QuickSortImpl(vals, less, left, i - 1);
    }

    if(right > i) {
        QuickSortImpl(vals, less, i, right);
    }
}

class TestClass {
    constructor() {
        this.Id = CreateGuid();
        this.Value = CreateGuid();
    }

    toString() {
        return this.Id;
    }
}

function ToArray(iterator) {
    return [...iterator];
}

function* Range(start, end) {
    for(let i = start; i<end; i++) {
        yield i;
    }
}

function* Select(iterator, projector) {
    for(let x of iterator) {
        yield projector(x);
    }
}

function Compare(x, y) {
    if(x > y)
        return 1;
    if(x < y)
        return -1;
    return 0;
}


function CreateGuid() {
    return NewGuid().replace(re, "");
}

function NewGuid() {
    function s4() {
        return (0|(1 + Math.random() * 0x10000) & 0xFFFF)
            .toString(16);
    }
    return [s4() , s4() , '-' , s4() , '-' , s4() , '-' , s4() , '-' , s4() , s4() , s4()].join('');
}

function delay(time) {
    return new Promise((resolve)=>{
        setTimeout(resolve, time);
    });
}

for(let i = 0, promise = Promise.resolve(); i<100;i++) {
    promise = promise.then(()=>Main(N)).then(()=>delay(1000));
}