OberonCore https://forum.oberoncore.ru/ |
|
Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфеля? https://forum.oberoncore.ru/viewtopic.php?f=27&t=6675 |
Страница 1 из 3 |
Автор: | Wlad [ Понедельник, 16 Ноябрь, 2020 15:02 ] |
Заголовок сообщения: | Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфеля? |
Кто-нибудь сталкивался с подобными оценками? Или - проводил самостоятельно? Нужны на одинаковых задачах, одних и тех же платформах и окружениях. |
Автор: | Wlad [ Вторник, 24 Ноябрь, 2020 17:24 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
И - тишина... |
Автор: | Sergej Durmanov [ Вторник, 24 Ноябрь, 2020 19:34 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
интересует абстрактное быстродействие?) Нужно конкретнее. Вот, например, при перемножение матриц в активном обероне могут быть задействованы все ядра процессора и simd инструкции. Будем сравнивать? |
Автор: | Wlad [ Среда, 25 Ноябрь, 2020 18:14 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Sergej Durmanov писал(а): Вот, например, при перемножение матриц в активном обероне могут быть задействованы все ядра процессора и simd инструкции. Будем сравнивать? А - что, в перечисленных языках, есть встроенный тип/класс "матрица", определены методы и мы будем сравнивать реализации?Вы задали некорректный вопрос на вопрос. |
Автор: | Sergej Durmanov [ Среда, 25 Ноябрь, 2020 18:59 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Матрица это же двумерный массив )) Так что всё честно) |
Автор: | Александр Ильин [ Среда, 25 Ноябрь, 2020 23:25 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Будете сравнивать, обязательно проверьте язык Julia. |
Автор: | Info21 [ Четверг, 26 Ноябрь, 2020 09:17 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Sergej Durmanov писал(а): Матрица это же двумерный массив )) Так что всё честно) Лучше объяснить, почему они встроили это умножение в язык, а не сделали спецбиблиотеку вроде Blackbox/Math.
|
Автор: | Sergej Durmanov [ Четверг, 26 Ноябрь, 2020 11:57 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Info21 писал(а): Sergej Durmanov писал(а): Матрица это же двумерный массив )) Так что всё честно) Лучше объяснить, почему они встроили это умножение в язык, а не сделали спецбиблиотеку вроде Blackbox/Math. |
Автор: | Sergej Durmanov [ Четверг, 26 Ноябрь, 2020 12:00 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Александр Ильин писал(а): Будете сравнивать, обязательно проверьте язык Julia. не компетентен в julia, был бы готовый пример на этом яп, можно было бы сравнить с реализацие на ао.
|
Автор: | Info21 [ Четверг, 26 Ноябрь, 2020 17:19 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Sergej Durmanov писал(а): Info21 писал(а): Sergej Durmanov писал(а): Матрица это же двумерный массив )) Так что всё честно) Лучше объяснить, почему они встроили это умножение в язык, а не сделали спецбиблиотеку вроде Blackbox/Math. |
Автор: | Sergej Durmanov [ Четверг, 26 Ноябрь, 2020 18:01 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Так в других языках, обычно, тоже библиотечная реализация, с разной степенью интегрированности в компилятор или использования языковых средств, обеспечивающих бесшовную интеграцию. |
Автор: | Wlad [ Пятница, 27 Ноябрь, 2020 11:32 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Sergej Durmanov писал(а): Так в других языках, обычно, тоже библиотечная реализация, с разной степенью интегрированности в компилятор или использования языковых средств, обеспечивающих бесшовную интеграцию. Ну, тогда - сам Дейкстра велел подобрать и оформить аналогичные семантические случаи и протестировать-сравнить |
Автор: | Info21 [ Пятница, 27 Ноябрь, 2020 18:27 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Интересней вопрос, насколько эффективно можно реализовать библиотечную процедуру, используя базовые средства языка, и, затем, насколько легко оптимизировать её, оставаясь по-максимуму в пределах языка (ср. code-процедуры). Ведь обычные языки (т.е. сделанные как попало) потому и включают в язык сложные средства, что их нельзя эффективно реализовать, используя только языковое ядро. |
Автор: | Sergej Durmanov [ Суббота, 28 Ноябрь, 2020 11:52 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Ничего хорошего из этого не получится. На Обероне уж точно. Хотя современные компиляторы способны использовать simd инструкции и simd регистры, генерируя соответствующий код ( компилятор Активного Оберона тоже это делает ), тем не менее, нормально векторизовать и распараллелить код ни у кого не получается, ну разве что если этот код написан срециальным образом. Не смотря на потраченные деньги. Вполне возможно, если вбухнуть ещё 10 раз по столько, то что-то вменяемое получится. А пока остается ассемблер/интринсиксы и ручное написание библиотек с теми же ассемблером и интринсиксами. |
Автор: | Wlad [ Суббота, 28 Ноябрь, 2020 13:50 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Sergej Durmanov писал(а): Ничего хорошего из этого не получится. я могу вам в скайпе расшарить экран с моим "проигрывателем полётов", где в режиме реального времени, чисто программно, без simd, аппаратного ускорения, cuda и gpu, делаю видеоэффекты с виеопотоками от двух камер. Написано всё на дельфи 7. Всего с тремя строками на встроенном асме. |
Автор: | Sergej Durmanov [ Суббота, 28 Ноябрь, 2020 14:02 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Wlad писал(а): Всего с тремя строками на встроенном асме. ну это же простая задача )) зачем там асм
|
Автор: | Sergej Durmanov [ Суббота, 28 Ноябрь, 2020 18:06 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Вот простой код на Активном Обероне с математическим расширением — умножение матриц 1024х1024(для начала, потом можно прибавлять стартовый размер, чтобы оценить масштаб проблемы). Сделайте на своем любимом языке и посмотрите, сколько времени занимает операция, начните с 1024, потом 2048... и т.д., пока хватит терпения дождаться). В примере создается три массива a, b, c signed32. Массив a инициализируется значением 5, массив b значением 10. Код: MODULETestMath; (** AUTHOR ""; PURPOSE ""; *)
IMPORT Commands, Stopwatch; VAR a, b, c: ARRAY [ *, * ] OF SIGNED32; VAR buf: ARRAY 32 OF CHAR; (** *) PROCEDURE Do*( context: Commands.Context ); VAR N: SIZE; BEGIN IF ~context.arg.GetSize(N, FALSE) THEN N := 1024 END; context.out.String( "N = " ); context.out.Size( N ); context.out.Ln; NEW( a, N, N ); NEW( b, N, N ); NEW( c, N, N ); a := 5; b := 10; VAR sw: Stopwatch.T; sw.Start; c := a * b; VAR t := sw.Elapsed( ); sw.Stop; Stopwatch.ToString( t, buf ); context.out.String( buf ); context.out.Ln; END Do; BEGIN END TestMath.Do ~ TestMath.Do 1024~ TestMath.Do 2048~ System.Free TestMath~ |
Автор: | Александр Ильин [ Воскресенье, 29 Ноябрь, 2020 04:15 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Julia v1.5.3: Код: for i in [1 2 4 8 16] print(i, ": ") N = 1024 * i A = fill(Int32(5), (N, N)) B = fill(Int32(10), (N, N)) @time begin C = A * B end end Код: 1: 0.520594 seconds (8 allocations: 4.000 MiB) 2: 4.198689 seconds (8 allocations: 16.000 MiB) 4: 33.793543 seconds (8 allocations: 64.000 MiB, 0.22% gc time) 8: 276.754758 seconds (8 allocations: 256.000 MiB, 0.04% gc time) 16: 2046.192749 seconds (8 allocations: 1.000 GiB, 0.00% gc time) По загрузке процессора видно, что работает только одно ядро. |
Автор: | Sergej Durmanov [ Воскресенье, 29 Ноябрь, 2020 14:13 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Оно и не покажет, сколько и каких ядер реально задействовано - оно же само не выполняет, шлет сообщение. Реальнаую работу выполнют другие, в том числе и gpu |
Автор: | Александр Ильин [ Воскресенье, 27 Декабрь, 2020 23:23 ] |
Заголовок сообщения: | Re: Встречалось ли сравнение быстродействия КП/АО/О7 и Эйфел |
Что-то я не понял. Я один бенчмарк реализовал, и на этом всё закончилось? Даже замеры Активного Оберона не будут обнародованы? |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |