thedeemon: (Default)
Dmitry Popov ([personal profile] thedeemon) wrote2021-02-21 06:33 pm

M1

Позапускал тут одну свою программку (тупое решение Project Euler #300, много простых операций с интами, умещающимися в кэше) на двух ноутах. На одном Intel Core i7, на другом Apple M1. Так вот, даже в режиме эмуляции x86_64 M1 немного быстрее. А в родном для него arm64 - много быстрее.



                        L=13 1-thread  parallel ; L=14 parallel
 Intel Core i7 2.6 GHz           20.0      4.06 ;         22.02
 M1 running x86_64              15.65      3.15 ;         18.06
 M1 running arm64               11.84      2.44 ;         13.7
                                       time in seconds

https://gist.github.com/thedeemon/ec45c44e14c3205075f66d4bc3f92abf
Компилятор на обоих - LDC (LLVM-based).

Кстати, про Project Euler. Вы решили задачку #100? Я чего-то туплю, не решил пока.
chaource: (Default)

[personal profile] chaource 2021-02-21 07:38 pm (UTC)(link)
По-моему, задача 100 сводится къ уравненiю Пелля съ помощью линейнаго преобразованiя. https://en.wikipedia.org/wiki/Pell%27s_equation
chaource: (Default)

[personal profile] chaource 2021-02-21 08:38 pm (UTC)(link)
Нужно найти цѣлыя числа m > n > 0 такiе, что 2*m*(m-1) = (m+n)*(m+n-1)

Думаю, въ этой задачѣ имѣли въ виду переборъ: предполагалось для фиксированнаго m+n перебирать допустимыя значенiя m (ихъ всего O(1), т.к. можно рѣшить уравненiе 2*m*(m-1)=Q для заданнаго Q). Потомъ переходить къ слѣдующему значенiю m+n.

Но если свести задачу къ уравненiю Пелля, то можно будетъ написать рѣшенiе въ видѣ формулы. Тогда Euler #100 рѣшается за O(1).
brmail: (Default)

[personal profile] brmail 2021-02-21 08:39 pm (UTC)(link)
а этот "Intel Core i7 2.6 GHz" извините, какого года выпуска?
brmail: (Default)

[personal profile] brmail 2021-02-21 10:05 pm (UTC)(link)
просто сравниваем топ проц от аппл ноября 2020 и интеловским совсем не топ потребительским процем от апреля 2019, что не есть хорошо. Понятно, что было под рукой, на том и сравнивали - но выводы о быстродействие в целом никакие.
brmail: (Default)

[personal profile] brmail 2021-02-21 11:50 pm (UTC)(link)
интеловский i7 первого квартала 2020 дает +7% +9% процентов к тому что вы использовали, на год более старого. С учетом осеннего выхода аппловского проца этот процент можно смело поднимать эти проценты до 10-12 . Чисто приблизительно - M1 по прежнему в выигрыше, что не меняет факта, что у аппл это топовый проц, у интела есть разные i9 & i10
Ну и то, что это был тест на одну задачу мне исходно не по душе. С другой стороны, у меня в текущей конфигурации домашнего лаптопа i7-6600u с быстрым m.2 диском и 32гигами памяти, и все мои задачи для дома и для программирования прекрасно покрываются этой конфигурацией. Поэтому сравнивать чисто быстродействие только cpu смысла нету. Кстати, я уверен, что смени я свой лаптоп на новый с производительностью cpu на 80% больше, эта производительность вся или большей частью уйдет на обслуживание windows10, которую я буду вынужден использовать вместо windows7. Что там творится в компах аппл и как их сравнивать с компами на винде или линуксе - вообще темное дело сравнивать.
juan_gandhi: (Default)

[personal profile] juan_gandhi 2021-02-21 11:00 pm (UTC)(link)

Ого, 300!

Я первые 60 сделал и завязал что-то. А надо бы, конечно.

juan_gandhi: (Default)

[personal profile] juan_gandhi 2021-02-22 12:09 am (UTC)(link)

Красиво.

migmit: (Default)

[personal profile] migmit 2021-03-03 07:55 pm (UTC)(link)
(n/m) * ((n-1) / (m-1)) = 1/2 <=> m^2 + (m-1)^2 = (2n-1)^2

Это так, наблюдение.