質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Nim

Nimは、静的型付けプログラミング言語。Pythonの生産性でありながら、C言語のような高いパフォーマンスも持ち併せます。さらに自由度の高い言語で拡張性も重視されています。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

並列処理

複数の計算が同時に実行される手法

Rust

Rustは、MoFoが支援するプログラミング言語。高速性を維持しつつも、メモリ管理を安全に行うことが可能な言語です。同じコンパイル言語であるC言語やC++では困難だったマルチスレッドを実装しやすく、並行性という点においても優れています。

Q&A

解決済

2回答

4171閲覧

NimがRustやJavaやGoに比べて並行並列処理性能が高いかどうか?について

cloud9paiza

総合スコア70

Nim

Nimは、静的型付けプログラミング言語。Pythonの生産性でありながら、C言語のような高いパフォーマンスも持ち併せます。さらに自由度の高い言語で拡張性も重視されています。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

並列処理

複数の計算が同時に実行される手法

Rust

Rustは、MoFoが支援するプログラミング言語。高速性を維持しつつも、メモリ管理を安全に行うことが可能な言語です。同じコンパイル言語であるC言語やC++では困難だったマルチスレッドを実装しやすく、並行性という点においても優れています。

0グッド

0クリップ

投稿2020/02/24 01:48

編集2020/02/24 02:59

なお、こちらで、回答して頂けましたら、私のブログ http://aon.tokyo へ引用もしくは転載したいです。転載の許可をして下さるかどうかも記載して
頂けますと助かります。

NimがRustやJavaやGoに比べて並行並列処理性能が高いかどうか?
シングルスレッドベンチマークの参考URL:
この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他)
http://h-miyako.hatenablog.com/entry/2015/01/23/060000

インメモリデータベースの開発言語にRustを選んだ理由
https://www.forcia.com/blog/001167.html

ベンチマークの結果は、最適化されたC言語の次にNimが早くその次にRust、その次にJavaやGoだと言うのは、ネットのブログを読んで存じております。
こちらにつきましては、Nimは、C言語で出来ていてコンパイル言語であるので、
スレッドは立つらしいと言う情報は得ておりますので、
マルチコア、マルチスレッド対応であるとは思いますが、
性能的な情報をもっと頂けますと助かります。

皆様お忙しいとは思いますが、
何か情報をお持ちの方、ご教授頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/02/24 02:08

過去の質問の多くが投げっぱなしです。解決したならベストアンサーを決め、そうでないなら回答者に質問の意図が伝わったか、そして回答者の意図が自分に伝わったかを確かめ、質問を編集して情報を追記してください。
Zuishin

2020/02/24 02:12

あと、ここで複数の質問をしていますが、質問の一つ一つが大きく厚く大雑把すぎるので、複数の質問に分け、もう少し聞きたいことを絞って聞いてください。基本的にここでの質問は「一問一答で解決可能であること」が前提です。
Zuishin

2020/02/24 02:16

そして「一例として」次のように > ベンチマークの結果は、最適化されたC言語の次にNimが早くその次にRust、その次にJavaやGoだと言うのは、ネットのブログを読んで存じております。 出典も無く前提も不明な怪しげな情報を持ち出し、それを真実と扱っていますが、その真偽を確認するためにも、文脈を伝えるためにも、きちんと出典を示してください。
raccy

2020/02/24 02:32

質問は一つにしてください。関連性が薄い複数の質問全てに回答しないとベストアンサーにならないため、一つだけ知っている人でも回答しづらくなります。結果、回答が得られなくなります。
raccy

2020/02/24 02:32

あ、Zuishinさんが既に書いていたや・・・。失礼しました。
Zuishin

2020/02/24 02:46

やはり並列処理無関係なベンチです。また質問編集されているのに質問が複数あります。
cloud9paiza

2020/02/24 02:54

たしかに、こちらのベンチマークは、並列処理に無関係なベンチーマークです。 より並列処理のベンチーマーク結果の様な、情報が得られればと思いまして、 こちらに書き込みさせて頂いております。
cloud9paiza

2020/02/24 02:56

なお、過去の私の質問は、ほとんど解決済みとさせて頂きました。 ご指摘ありがとう御座います。 未解決なままが多かったです。 今後は注意しようと思います。
cateye

2020/02/24 03:08

>並行並列処理性能が高いかどうか? (環境が左右する問題だと思うので)実測して下さい。その上で、質問があれば投稿して下さい。
cloud9paiza

2020/02/24 04:36

cateyeさん 実測の方法は分かりません。しかし、その方法を質問するべきだったかも知れません。
Zuishin

2020/02/24 05:39

Java には AsyncTask があります。Nim だとスレッドプールを使うのが良いのでしょうか。そこは詳しくないので知りません。並列処理で何をしたいのかによって求められる機能が違ってくるのではないかと思います。フィボナッチよりはバブルソートの方がいいかもしれません。
cloud9paiza

2020/02/24 07:22

cateye さん リンク元は、シングルスレッドのベンチマークの様です。マルチコア、マルチスレッドでは無い様です
cloud9paiza

2020/02/24 07:29

Zuishin さん アドバイスして頂きましてありがとう御座います。結局自分でNimを含めた、複数のプログラム言語でマルチコア、マルチスレッドのプログラムを実行して実測する方法を質問しなおすしかないと思いました。 ありがとう御座いました。
guest

回答2

0

Zuishin さん cateyeさんに回答して頂きました。ありがとう御座います。
アドバイスして頂きましてありがとう御座います。結局自分でNimを含めた、複数のプログラム言語でマルチコア、マルチスレッドのプログラムを実行して実測する方法を質問しなおすしかないと思いました。
ありがとう御座いました。

投稿2020/02/24 07:30

cloud9paiza

総合スコア70

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

実行については、取り敢えずCとpythonのみ・・・timeコマンドしか使っていませんが^^;

text

1usr ~/Project/test % time ./a.out 2267914296 3real 1.25 4user 1.25 5sys 0.00 6usr ~/Project/test % cat t1.c 7#include <stdio.h> 8 9int fib(int n) { 10 if (n < 2) return n; 11 return fib(n - 2) + fib(n - 1); 12} 13 14int main(int argc, char *argv[]) { 15 printf("%d\n", fib(42)); 16 return 0; 17} 18 19usr ~/Project/test % time ~/anaconda3/bin/python3 t1.py 2039088169 21real 10.02 22user 10.02 23sys 0.00 24

環境
AMD Ryzen 5 1600X
Linux Mint 19.3
clang version 10

投稿2020/02/24 05:40

編集2020/02/24 05:47
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cloud9paiza

2020/02/24 07:04 編集

cateyeさん 出来れば、Nimを含めたマルチコア、マルチスレッドのベンチーマークがあれば良かったですが、 回答して頂きましてありがとう御座います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問