投稿

11月 20, 2022の投稿を表示しています

Translate

DataSpiderのファイル処理が遅い原因は大体コレ

イメージ
DataSpider(データスパイダー)でファイル出力で注意した方が良いこと データスパイダーで0こういう作り方は処理が物凄く遅くなる。 データスパイダーで、何かのデータを読み取って条件によって値を変えたり等の変換する際に、可読性を考えて下記の様にすると、とても処理が遅くなる。 なるべくコンポーネントの中を開かなくても、デザイナーのスクリプトキャンパスを見ただけでどういうことをしているか分かるようにしたいと思って、こういう作り方をすると、データスパイダーの場合はとてつもなく処理が遅くなる。 DataSpiderで何かのデータを読み取って処理を書く際に、条件分岐のIF等を表のスクリプトキャンパス上で描いてしまうとどうやらとても遅くなるようだ。 Loopコンポーネントがとてつもなく処理を遅くするようで、筆者はこの現象を、データスパイダーはLoop処理に弱いと表現している。 解決策はある。 DataSpiderではこう作り変えると処理が早くなる。 スクリプトを開いた際の、スクリプトキャンパス上だけでは、処理の詳細が見えなくなってしまい、可読視認性が下がってしまうが、マッパー内で条件分岐させる場合には、処理が早くなる。 マッパー内で分岐させる文には、For分等のループ処理が不要となる為、ループコンポーネント処理に弱いデータスパイダーで処理が遅くなってしまう事を回避出来る。 コーディングが得意な人達にとっては、ちょっとした処理をサブルーチンに飛ばすと可読性が悪くなる為、小さな処理ぐらいは表にFor文を書いて可読性を上げたいと思う人もいるかも知れないが、ノーコードプログラミングでは視認性も大切だが、使用しているノーコードプログラミングの癖を攻略しながらのコーディングの方が重要だと筆者は考える。 今回の例だと、たった数千件の処理が、最初の例だと数分かかるのに対して、Mapper内で条件分岐させた場合には、数秒で終わる。 如何に、癖を攻略する事が大切だと解るだろう。