Сравнение эффективности PascalABC.NET и C#

Сейчас скажу.

Это не презентация, а статья на официальном сайте: http://pascalabc.net/stati-po-pascalabc-net/obuchenie-programmirovaniyu/28-meryaem-proizvoditelnost

Так. Лучше. Где там фраза “PascalABC.NET в 4 раза лучше C#” ? Говорите - я её сразу уберу.

Такого там, конечно, нет, но

Такой же, как и у C#. Как говорится в рекламе: “а если результаты одинаковы, то зачем платить больше?”. Собственно, эта программа будет нашей отправной точкой. Попытаемся ускорить перемножение матриц.

Прирост производительности - 4 раза. И это - за счет того, что мы знаем, что у процессора есть кеш. И язык программирования тут ни при чем. Просто алгоритмы надо уметь готовить.

А проводилась ли такая же оптимизация алгоритма на C#? Может быть, но об этом ничего не сказано.

Спортивный интерес не позволяет нам просто так остановиться. И мы вспоминаем, что в PascalABC.NET есть такая замечательная штука как OpenMP, позволяющая на многоядерном процессоре распараллеливать циклы простой директивой компилятора.

Как и было обещано теорией. В 4 раза. Вывод, собственно, прост. PascalABC.NET - хорошая система программирования :slight_smile:

И опять ни слова о C#. Собственно, в таблицах в конце статьи так же не указано результатов для данных алгоритмов на C#. Только C++ и FreePascal, не относящиеся к .NET - языкам и не претендующие ни на что в контексте .NET.

На счёт C++ не сказал бы. Есть его реализация под .Net Framework.

Вот если нет, то и вопроса нет. И не высасывайте из пальца то, что Вы домыслили.

Даже название статьи - “Меряем производительность”.

Это у Вас в заголовке - сравнение с C#. То есть, Вы домыслили, потом раскритиковали домысленное.

1 лайк
  1. Есть, я знаю, но писали то на обычном C++.

А если говорить о самом языке, то Unmanaged C# оказался бы полезнее…

Привёл “простыню” FastNeuralColor в человеческий solution. Иначе пользоваться невозможно.

А при чём здесь PascalABC.NET?

Оно раньше было на паскале написано. uni это глеб, я так понял. (хотя, конечно, объяснение всё равно не оч)
А вот при чём тут эта тема - вот это вообще загадка.

Глеб же уже давно покинул форум…

А, не, перепутал. Ссылка кидала на форк проекта глеба. Но люди, вроде, таки разные.

А вот в статье http://pascalabc.net/stati-po-pascalabc-net/obuchenie-programmirovaniyu/28-meryaem-proizvoditelnost

в FreePascal на 32 или 64 бита компилировался? Тут большая разница. У меня на Ryzen 3 выдало на PascalABC.net 1,8 c (c транспонированием, как в статье). В Delphi 10 при компилировании на 32 бит получилось 4,83 с. Причём транспонирование слабо помогало. При компилировании на 64 бит получилось 1,14-1,16 с. То есть почти как С++ , правда наверное в C++ 2019 года будет получше. Подозреваю , что во FreePascal это тоже имеет значение(хотя правда никогда им не пользовался, поэтому не знаю).

Если вы скажете, где во FP установить 64 бита - с удовольствием попробую: