Здравствуйте, Аноним, Вы писали:
А>Закомментитровал код обмена значений и получил такой-же результат, что и ранее. Оператор <-> сдесь не причем.
Вот проект.
Там также есть проект для Boo (я пользовался #develop) он значительно медленее работает, но это из-за кое каких своих заморочек с массивами в Boo.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[17]: Производительность кода Nemerle
От:
Аноним
Дата:
21.03.10 18:22
Оценка:
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, Аноним, Вы писали:
А>>Закомментитровал код обмена значений и получил такой-же результат, что и ранее. Оператор <-> сдесь не причем.
H>Вот проект. H>Там также есть проект для Boo (я пользовался #develop) он значительно медленее работает, но это из-за кое каких своих заморочек с массивами в Boo.
В моей версии проекта не было unchecked! Задействовав его, получил идентичные результаты у Nemerle и С#!
В проектах C#, по-умолчанию, не используется проверка переполнения, а в Nemerle похоже наоборот!
Это и приводит к таким "печальным" результатам. К стати, у проекта Nemerle, в его свойствах
проверка переполнения не настраивается?! Оператор <-> ни какого влияния на результаты теста не оказывает.
Здравствуйте, Аноним, Вы писали:
А>В проектах C#, по-умолчанию, не используется проверка переполнения, а в Nemerle похоже наоборот! А>Это и приводит к таким "печальным" результатам.
Откровенно говоря непойму что печельного в результатах. Разницу не заметиль в микроскоп. При этом постоянно ведется контроль переполнения. Ну, а там где нужно выжать максимум скорости не сложно и unchecked воспользоваться.
А>К стати, у проекта Nemerle, в его свойствах проверка переполнения не настраивается?!
Нет. Хотя можно было бы и добавить. Создай фича-реквест в багтрекере.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, hardcase, Вы писали:
H>>Здравствуйте, Аноним, Вы писали:
А>>>Закомментитровал код обмена значений и получил такой-же результат, что и ранее. Оператор <-> сдесь не причем.
H>>Вот проект. H>>Там также есть проект для Boo (я пользовался #develop) он значительно медленее работает, но это из-за кое каких своих заморочек с массивами в Boo.
А>В моей версии проекта не было unchecked! Задействовав его, получил идентичные результаты у Nemerle и С#! А>В проектах C#, по-умолчанию, не используется проверка переполнения, а в Nemerle похоже наоборот!
Вообще стоит добавить такую настройку. В принципе могу сделать это.
А>Это и приводит к таким "печальным" результатам. К стати, у проекта Nemerle, в его свойствах А>проверка переполнения не настраивается?! Оператор <-> ни какого влияния на результаты теста не оказывает.
На моей системе влияет. Аккуратно в 2 раза медленнее.
Здравствуйте, hardcase, Вы писали:
H>В Nemerle для аналогичного for() получаем хвостовую рекурсию
... H>Которая по генерируемому коду эквивалентна while() циклу C#:
... H>Не понятно, почему такой while-цикл работает медленнее for...
Здравствуйте, seregaa, Вы писали:
S>На c# while тоже работает медленнее, чем for?
Вроде же как разобрались — цикл на скорость почти не влиял.
И вообще, проблема устранена. Так что шарп, васик и немерл работают одинаково быстро (или медленно, если вы пессимист ).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Вроде же как разобрались — цикл на скорость почти не влиял. VD>И вообще, проблема устранена. Так что шарп, васик и немерл работают одинаково быстро (или медленно, если вы пессимист ).
Ага, не дочитал до unchecked. Ну тады ok )