Другие приложения, которые различаются главным образом по времени, необходимом для их создания, включают в себя ... - Большая Энциклопедия Нефти и Газа



Выдержка из книги Филд А.N. Функциональное программирование


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

(cкачать страницу)

Смотреть книгу на libgen

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