2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 3, 4, 5, 6, 7
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 18:57 
Супермодератор
Аватара пользователя


09/05/12
21986
Кронштадт
_hum_ в сообщении #1415455 писал(а):
По остальному- я уже потерял нить беседы
Мне хотелось выяснить, в каких объемах ваши студенты фактически знают C++, поскольку в какой-то момент выяснилось, что речь идет о некотором подмножестве языка.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 19:11 
Заслуженный участник
Аватара пользователя


06/10/08
6336
_hum_ в сообщении #1415455 писал(а):
дык, обычно для такого рода библиотек это важно - гарантировать, что у вас время работы будет более-менее стабильное, даже если какой-то расчет не сможет быть выполнен. а с исключениями этого нельзя гарантировать:
Ну я говорю, что для realtime это, конечно, неприменимо. Программы для автоматических автомобилей исключения использовать не будут.
Но каким-нибудь навигаторам или системам планирования перевозок это не относится.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 20:04 
Заслуженный участник
Аватара пользователя


30/01/06
72408
Pavia в сообщении #1415448 писал(а):
Работаю в канторе инженером за 10 лет дорос до ведущего-инженера.

Я спросил не должность, а специальность. Инженеры бывают очень разные, от инженеров нефтеперерабатывающего оборудования до инженеров-строителей.

-- 16.09.2019 20:11:36 --

_hum_ в сообщении #1415455 писал(а):
дык, обычно для такого рода библиотек это важно - гарантировать, что у вас время работы будет более-менее стабильное

Вообще-то для расчётных библиотек это важно чуть реже чем никогда.

-- 16.09.2019 20:12:45 --

Xaositect в сообщении #1415457 писал(а):
Ну я говорю, что для realtime это, конечно, неприменимо. Программы для автоматических автомобилей исключения использовать не будут.

Кстати, именно в real-time исключения лучше других вариантов (при правильном использовании и при правильном понимании, ну это другая история...).

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 20:32 
Заслуженный участник
Аватара пользователя


06/10/08
6336
Munin в сообщении #1415468 писал(а):
Кстати, именно в real-time исключения лучше других вариантов (при правильном использовании и при правильном понимании, ну это другая история...).
К исключениям в C++ это не относится (catch дифференцирует по типам, это плохо тем, что время обработки исключения может зависеть от количества объявленных в программе классов, что на практике ставит крест на realtime).

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 21:00 


16/08/19
70
Xaositect в сообщении #1415472 писал(а):
К исключениям в C++ это не относится (catch дифференцирует по типам, это плохо тем, что время обработки исключения может зависеть от количества объявленных в программе классов, что на практике ставит крест на realtime).


Ерунда какая-то написана. Исключения никак не влияют на realtime, в худшем случае только на производительность программы. Но realtime и производительность это совершенно разные вещи. Пример realtimeа это игры, но там нет никаких проблем с исключениями. Вообще, без разницы обрабатывать ошибки switchом по коду возвращаемой ошибки из функции или catchом по типу, первый даже хуже, поскольку приходится развертку стека производить руками, что медленее.


А вообще дискуссия уже бессмысленна, задача не имеет решения потому что не имеет постановки вопроса, нет способа выбрать вариант кроме бросания монетки.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 21:07 
Заслуженный участник
Аватара пользователя


06/10/08
6336
vend в сообщении #1415474 писал(а):
Ерунда какая-то написана. Исключения никак не влияют на realtime, в худшем случае только на производительность программы.
Под realtime я понимаю гарантированное время исполнения. Herb Sutter пишет (http://www.open-std.org/jtc1/sc22/wg21/ ... 0709r0.pdf)

Цитата:
(2) Today’s dynamic exception handling is not deterministic (run-time space and time determinism). This is the primary reason exceptions are banned in many real-time and/or safety-critical environments (for example, many games, coding standards like JSF++ [JSF++ 2005], and environments like the Mars Rover flight software [Maimone 2014]). C++ allows there to be multiple active exception objects of arbitrary types, which must have unique addresses and cannot be folded; and it requires using RTTI to match handlers at run time, which has statically unpredictable cost on all major implementations and can depend on what else is linked into the whole program. Therefore during stack unwinding the exception handling space and time cost is not predictable as it is with error codes. Adequate tools do not exist to statically calculate upper bounds on the actual costs of throwing an exception.

Цитата:
We know that today’s dynamic exception model has inherent overheads with no known solution for common and important cases such as memory-constrained and/or real-time systems, which require deterministic space and/or time cost of throwing an exception, with a statically computable upper bound on those costs. For space determinism (memory-constrained systems), I am not aware of any research progress in the past decade. For time determinism (real-time systems), proponents of today’s dynamic exceptions expected suitability for realtime systems to be achieved before 2010; but, as noted in §2.3, there have been only a handful of research results (all over a decade old), notably [Gibbs 2005] which unfortunately is not suitable for general use because of its restrictions on the sizes of class hierarchies and reliance on static linking.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 21:19 


16/08/19
70
Xaositect в сообщении #1415476 писал(а):
Под realtime я понимаю гарантированное время исполнения.


Это по определению. Времени обработки ошибки без разницы обрабатывается ли она свичом или кэчем, если ошибку обработать надо значит надо и на реалтайм это не влияет, количество инструкций на обслуживание такой обработки ничтожно. Если же вашей производительности не хватает на обработку ошибок, то это ваши проблемы, и они не зависят от того каким методом они обрабатываются, любая обработка ошибки приводит к недетерменированному поведению. Пишите так что бы каждая функция при каждом вызове не вываливалась по ошибке, ошибка это знаетели исключительная ситуация, а не рядовая, или закладывайте время на обработку ошибок или делания проверок.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение16.09.2019, 22:40 
Заслуженный участник
Аватара пользователя


30/01/06
72408
Xaositect в сообщении #1415472 писал(а):
время обработки исключения может зависеть от количества объявленных в программе классов

А разве не от количества объявленных в программе классов исключений?

-- 16.09.2019 22:48:55 --

(Спасибо за ссылку на Саттера.)

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение17.09.2019, 00:33 
Заслуженный участник
Аватара пользователя


27/04/09
27362
Munin
А таких вроде нет. Кидать можно было почти что угодно, когда я читал про этот язык, и теперь находим то же: https://en.cppreference.com/w/cpp/language/throw.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение17.09.2019, 00:42 
Заслуженный участник
Аватара пользователя


30/01/06
72408
Хм. То есть на момент link time полный список кидаемых классов всё ещё неизвестен?

Ну в любом случае. Пусть кидать могут что угодно. catch-и их должны просто пропускать мимо, а не классифицировать, разве нет?

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение17.09.2019, 01:05 
Заслуженный участник
Аватара пользователя


27/04/09
27362
Munin в сообщении #1415496 писал(а):
Хм. То есть на момент link time полный список кидаемых классов всё ещё неизвестен?
Я бы решил, что известен, но и это может оказаться не так, и этого списка может быть недостаточно для оптимизации, тут я слабо представляю, увы.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 101 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7

Модераторы: Модераторы, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group