Какие языки сценариев поддерживают многоядерное программирование?

Это то, что я сделал на моем Mac:

открыл файл ~/.zshrc, используя sudo nano ~/.zshrc, затем вставил

export PATH=$PATH:/usr/local/go/bin сохранить и выйти (ctrl + s, ctrl + x затем нажмите y), затем запустили

. ~/.zshrc go был запущен и запущен, что подтверждается вводом команды go в командной строке.

11
задан Glorfindel 23 March 2019 в 02:59
поделиться

6 ответов

Синтаксис потока может быть статическим, но его реализация в операционных системах и виртуальных машинах может измениться

Ваш язык сценариев может использовать настоящие потоки в одной ОС и поддельные потоки в другой.

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

3
ответ дан 3 December 2019 в 05:58
поделиться

You can freely multi-thread with the Python language in implementations such as Jython (on the JVM, as @Reginaldo mention Groovy is) and IronPython (on .NET). For the classical CPython implementation of the Python language, as @Dan's comment mentions, multiprocessing (rather than threading) is the way to freely use as many cores as you have available

4
ответ дан 3 December 2019 в 05:58
поделиться

You seem use a definition of "scripting language" that may raise a few eyebrows, and I don't know what that implies about your other requirements.

Anyway, have you considered TCL? It will do what you want, I believe.

Since you are including fairly general purpose languages in your list, I don't know how heavy an implementation is acceptable to you. I'd be surprised if one of the zillion Scheme implementations doesn't to native threads, but off the top of my head, I can only remember the MzScheme used to but I seem to remember support was dropped. Certainly some of the Common LISP implementations do this well. If Embeddable Common Lisp (ECL) does, it might work for you. I don't use it though so I'm not sure what the state of it's threading support is, and this may of course depend on platform.

Update Also, if I recall correctly, GHC Haskell doesn't do quite what you are asking, but may do effectively what you want since, again, as I recall, it will spin of a native thread per core or so and then run its threads across those....

5
ответ дан 3 December 2019 в 05:58
поделиться

CSScript in combination with Parallel Extensions shouldn't be a bad option. You write your code in pure C# and then run it as a script.

1
ответ дан 3 December 2019 в 05:58
поделиться

Поскольку Groovy основан на виртуальной машине Java, вы получаете поддержку настоящих потоков.

3
ответ дан 3 December 2019 в 05:58
поделиться

F # в .NET 4 имеет отличную поддержку параллельного программирования и очень хорошую производительность, а также поддерживает файлы .fsx, специально разработанные для написания сценариев. Я пишу все свои сценарии на F #.

2
ответ дан 3 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: