切り替えたらものすごい速くなったJavaScriptGoogleAppsScriptこの記事は衝動的な動機によって書かれており、事実を正確に捉えるのに必要な証拠に欠けていることを予め断っておきたい。分かりやすい数字というものは人間の良からぬ想像力を掻き立てる災いのもとになることも思い出して欲しい。この記事にはなるべく事実だけを書くことにして、自分の推測は「〜かも知れない」とか「〜と思う」と書くことにする。この記事を読まれたみなさんが何らかの推論をコメントやツイッターに書き散らしたい衝動にかられた時は、ぜひ同じことを実践して欲しい。サービスのデータにアクセスできるスクリプト実行環境のプラットフォームである。サーバー上で実行してくれる。これが無料で使えるとあって、昔から業務効率化などの目的でよく利用されてきた。大きな欠点を抱えていた。いうべきかも知れないが)の文法は大きく変わっている。アンチパターンとすら言われるようになった!)。普及によって状況は一変した。書く自由を手に入れたのだ。語る上で欠かせないエコシステムの根幹となった。書きたくて仕方ないのだという性質を理解していただければ問題ない。インタプリタを利用していたそうだ。インタプリタとはプログラミング言語を実行してくれるソフトウェアの一形態である。エンジン(こちらはインタプリタと呼ぶべきではない)である。実際にどう違っているかを詳しく説明することはしない。ここで重要なのは次の一点だけだ。文法に対応していないのである。書かなければならなかった。存在を思い出すだろう。相入れなかったのだと思う。導入を諦めてしまった意志の弱い開発者のうちの一人だ。そんな中、熱いニュースが飛び込んできた。エンジンが使えるようになったのだ。するモードが提供され、任意でオンに出来るようになった。デフォルトでこのモードがオフになっているが、これは近い将来変更されるかも知れない。モードをオンにすることを推奨したい。ここまでが前置である。実行速度は速くなるのか?この件に関して知り合いのプログラマーの方が「実行速度も速くなるのかな?」というツイートをしているのを見かけて、僕はこう思った。実行しているインスタンスにもよるから一概には言えない。実行を最適化している(と聞いたことがある)ので、純粋なコードの実行速度を比較すれば有利になるはずだ。この時、僕は何か不思議な引っ掛かりを感じていた。うまく言語化出来ないのだが、それは実験してみたら面白い結果が出るんじゃないか、という期待感のようなものだったと思う。編集画面から次のメニューを使ってランタイムを切り替えられたので、実際に速度比較を行ってみることにした。回乱数を生成して足し合わせるのにかかった処理時間を出力している。標準的なログ出力関数だ。結果は次のようになった。切り替えたらものすごい速くなっている。程度の誤差はあるものの、そこまで大きな解離はなかった。平均や分散をちゃんと求めてはいないので、興味のある人は実験してみて欲しい。仮にも同じコードで、ランタイムが違うというだけで、これだけの違いが生まれるだろうか?僕がパッと思いついたことは試してみたが、他の要因が思いついた人はぜひレスしてみて欲しい。計算をまるごとスキップしていたのではないか?という疑惑だ。出力に含めたところすぐに間違いだと分かった。計算時間は両者ともほとんど変わらなかったのだ。意図的に正しくない値を返しているのでは?セキュリティ的な理由でそういう感じのことをしているというのを聞いたことがあった。数千ミリ秒単位で誤魔化すとは思えないが、一応次のコードを試した。モードをオンにすると、より高級なインスタンスが起動するのではないかという疑惑だ。これはもはや言いがかりのような理屈だが、かといって否定する証拠もないので、この可能性は捨て切れないと思う。実行速度にどのように影響を及ぼすのかを僕はよく知らないが、スペックが良いなら実行速度も単純に上がるのではないかと予想できる。同じ環境と言っていいのかよく分からない。モードをオンにするだけでコードの実行速度が明らかに改善されるという結果が望ましいものだと考えるだろう。とっても嬉しいはずだ。残すべき事実としては、表題の一行だけで十分だったのかも知れない。ステマをしているかのようにも読めるかも知れない。全ては何の有用性もない戯言だったのかも知れない。モードをオンにするだけでものすごい速くなるのは何故かという、その謎に惹かれたからだ。違いと思われるかも知れないが、その違いは、40分以上の時間を執筆に向かわせるに十分なものだったのだ。upLoginユーザーは見つかりませんでした。