FileMakerエンジニア
新年あけましておめでとうございます!
2025年、先陣を切ってブログを書かせていただき光栄に思います。
先月より始まったBriller FileMaker Laboratory(BFL)ですが、今年もより多くの方々に見ていただけるよう、様々な検証を行っていきたいと思いますのでよろしくお願いします。
目次
テーマ
それでは早速、2025年最初のテーマを発表します。
今回のテーマは「変数をフィールドに入れる速度の計測」です!
何気なく利用されている方も多いと思われる変数は、FileMaker(ファイルメーカー)のみならず、プログラミングを行う上での重要な要素なので、ぜひこの機会に理解を深めていってください。
変数について
プログラミングにおける変数とは、データを格納するための名前付きのメモリ領域のことです。
変数は、処理が実行される間に情報を保持したり、変更したりするために使用され、数値や文字列、オブジェクトなどのさまざまな種類のデータを格納することができます。
FileMaker(ファイルメーカー)の変数も、上記の考えに基づいて利用することができます。
詳しくはこちらの変数の使用を参照ください。
速度の計測について
この検証では格納した変数をフィールドに入れる速度を計測します。
今回は、FileMaker(ファイルメーカー)のスクリプトステップでの変数の設定や、JSON形式での格納、グローバルフィールドの利用と、変数として格納できる方法を変えて検証を行います。
変数を格納する方法によって取り回しは変わりますが、どれだけ実行速度に差が出るか理解しておくと、対応の幅も広がると思います。
環境とスペック
検証するにあたっての環境と実機のスペックを紹介します。
ソフトウェア:FileMaker Pro 21.1.1.41
OS:Windows 11 Pro(24H2)
CPU:12th Gen Intel(R) Core(TM) i5-12450H 2.00 GHz
メモリ:32.0 GB
検証方法
ファイルの準備
まずは下図のようなファイルを用意します。
フィールドを5種類(数字、テキスト、日付、時刻、タイムスタンプ)のタイプ毎に用意し、各フィールドに応じたグローバルフィールドも用意します。
スクリプトの内容
・共通部分
計測を行う前にレコードデータを全て削除し、新しく10,000レコードを作成するスクリプトを用意します。
・変数の計測
スクリプトステップの”変数を設定”を用いた、フィールドへの入力を行い、時間を計測するスクリプトです。
実行すると10,000レコードの各フィールドに、変数で設定した内容が入力され、入力にかかった時間をミリ秒単位でダイアログに表示します。
・JSONの計測
スクリプトステップの”変数を設定”に値をそのまま入れるのではなく、JSONで設定します。下図は入力内容を分かりやすくするため、まとめて入れず、1ステップずつ入力しております。
また、JSONで格納しているため、フィールドに入力する際に、JSONGetElement関数を利用して内容を抽出しております。
・グローバルフィールドの計測
スクリプトステップの”変数を設定”ではなく、グローバルフィールドを変数の格納先として設定しております。
グローバルフィールドはファイル内のすべてのレコードで共通に使用される単一の値なので、スクリプトステップで設定する変数と同じように利用することができます。
速度測定
各計測毎に3回ほどスクリプトを実行し、平均した値(小数第四位を四捨五入)を結果として出します。
例:変数の計測で1回目が8.532秒、2回目が8.705秒、3回目が8.501秒で、平均8.579秒が結果となる。
検証結果
計測 | 1回目(s) | 2回目(s) | 3回目(s) | 結果(平均)(s) |
変数 | 8.630 | 8.490 | 8.572 | 8.564 |
JSON | 8.801 | 8.896 | 8.833 | 8.860 |
グローバルフィールド | 8.673 | 8.633 | 8.713 | 8.673 |
まとめ
検証の結果、計測毎の速度は以下のようになりました。
(早い)変数を設定(値) > グローバルフィールド > 変数を設定(JSON)(遅い)
ローカル環境で10,000レコード分しか試してないので、大きな差とは言い難いですが、環境によってはこれ以上に差が開くことになります。
JSONの計測ではJSONGetElement関数をフィールドへ入力する都度使っていたので、事前に抽出した値を別の変数に格納して回せば、速度の改善につながると思います。
意外にもグローバルフィールドの格納はそこまで遅くなるわけではないことがわかったので、無暗に使うことはないですが、利用を控えることもない印象でした。
FileMaker(ファイルメーカー)は元より、プログラミングでの変数の利用は避けては通れないので、変数をうまく使うことで改善できることは多くあると思います。
普段何気なく利用しているものも、こうして数値化することで、新しい発見があるかもしれないので、これからも気になるところはどんどん検証していきたいですね。
以上が【BFL vol.2】 FileMakerの変数をフィールドに入れる速度を計測してみたの検証となります。
ここまで読んでくださって誠にありがとうございました。また次回のBFLもお楽しみに!
また、株式会社ブリエでは、FileMakerを活用したシステム開発や運用支援を行っています。
業務構造の見直しや改善のご相談もお気軽にお問い合わせください。
株式会社ブリエFileMakerエンジニア。ローコード開発を筆頭にプロコードからフロントエンドまで、多種多様な開発経験を活かしたフットワークの軽さが自慢のオールラウンダー。より便利に、より使いやすいUI/UXデザインをモットーに、新しい分野にも積極的に挑戦することで、あらゆるニーズに柔軟に対応できるよう、日々勉強を続けております。