teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

主張したいことを冒頭に追加

2016/09/30 23:49

投稿

mit0223
mit0223

スコア3401

answer CHANGED
@@ -1,3 +1,7 @@
1
+ ###**パフォーマンスと生産性にトレードオフはありません。むしろ正の相関があります。**
2
+
3
+ パフォーマンスも生産性もプログラマの資質に影響されるため、トレードオフはありません。むしろ、能力の高いプログラマを雇えば、どちらもあがるので、正の相関があります。経営者の視点で言えば能力の高いプログラマを雇う・育てるべきの一点につきます。
4
+
1
5
  > 「パフォーマンスが遅くなることをわかっていてその技術を採用することはプロとして失格」
2
6
 
3
7
  そもそも、一般的によく使われている技術について、「パフォーマンスが遅くなることをわかっている技術」であることがありますでしょうか。たとえば、Webシステムであれば、 LAMP でたいがいの性能要件を満たします。逆に LAMP で難しければアセンブラで組んでも難しいです。

2

SIMD命令の話を追記

2016/09/30 23:49

投稿

mit0223
mit0223

スコア3401

answer CHANGED
@@ -20,4 +20,9 @@
20
20
 
21
21
  一般的なWebアプリのベンチマークなら
22
22
  [Web Framework Benchmarks](https://www.techempower.com/benchmarks/)
23
- とかのほうが良くないですか?
23
+ とかのほうが良くないですか?
24
+
25
+ ---
26
+ 参考にされてるベンチマークについて更に追記です。
27
+ ソースコードを見ましたが、 C++ 版では SIMD命令を使ってベクトル演算してます。他の言語は要素1個ずつ計算しているので、明らかに不公平です。
28
+ Java版を[Yeppp!](http://www.yeppp.info/)とかを使って書き直してから比較すべきと思います。

1

話題になってるので、GPUの話や別のベンチマークなどを追加

2016/09/30 09:00

投稿

mit0223
mit0223

スコア3401

answer CHANGED
@@ -12,4 +12,12 @@
12
12
 
13
13
  みたいなストーリーはあります。このとき、ちゃんとしたアーキテクトが最初から設計していればそんなことにならなかったのにプロとして失格というのであれば理解できます。
14
14
 
15
- 言語処理系で性能の優劣が決定するなんてことは今の時代ほとんど無いでしょ。アセンブラで組んでもJava で組んでもせいぜい2倍くらいしか性能はかわりません。2倍で良ければ負荷分散やCPUのアップグレードを検討したほうがいいでしょう。それこそスケールアウトできるアーキテクチャのほうがよっぽど重要です。
15
+ 言語処理系で性能の優劣が決定するなんてことは今の時代ほとんど無いでしょ。アセンブラで組んでもJava で組んでもせいぜい2倍くらいしか性能はかわりません。2倍で良ければ負荷分散やCPUのアップグレードを検討したほうがいいでしょう。それこそスケールアウトできるアーキテクチャのほうがよっぽど重要です。
16
+
17
+ 言語処理系に前提としているような性能差がある派とない派でみごとに意見が割れてますね。その状況を見て追記します。
18
+
19
+ 参考にされているベンチマークのソースコードを見ましたが、 double の加算と平方根の処理の勝負になっていて、これでアプリケーションに対する言語処理系の差を議論するのは無理があると思います。科学計算、ゲーム、ディープラーニングの場合は別ですが、そうなると、最近はGPUを呼び出したりするので、やっぱり言語は関係ないかと。
20
+
21
+ 一般的なWebアプリのベンチマークなら
22
+ [Web Framework Benchmarks](https://www.techempower.com/benchmarks/)
23
+ とかのほうが良くないですか?