クリプト

APIの実行速度を上げてみた ~マルチスレッド編~

がくし's icon'
  • がくし
  • 2018/11/09 15:20


Content image


●著者

Content image

がくしです。






Content image


●目的

繰り返しAPIを呼び出すコードを書くと、実行に長い時間がかかってしまいます。そのため本稿では、実行速度を改善させるマルチスレッドという技術を使ったコードを紹介します。ここではコードと備忘録的なメモを載せる程度に留めますが、マルチスレッドの便利さだけでもお伝えできればと考えています。


Content image


●プログラム概要

最新記事一覧を取得した後、各記事のlike数を取得します。記事の数だけlike数取得APIを叩くことになるので、そこをマルチスレッドで処理しました。


Content image


●下準備

APIで記事一覧取得とlike取得を実行するコード


Content image


●マルチスレッド処理

Content image


●補足

Thred

target:処理内容

args :targetに渡す引数

start :処理開始

join  :処理終了まで待機


Queue

マルチスレッドの入出力を管理


処理イメージ

入力値

worker_queue

↓(各スレッドに振り分け)

マルチスレッド処理

result_queue

↓(順番を決めて処理)

出力値


Content image

●シングルスレッド処理

性能比較のための、マルチスレッドを使わない処理をするコード

Content image


●性能比較

最新記事1000件のlike数の取得にかかる時間を、シングルスレッドとマルチスレッドで比較しています。二倍以上の速さになっていることが分かると思います。


シングルスレッド

Content image

マルチスレッド

Content image


Content image


●最後に

全くの説明不足ではありましたが、マルチスレッドで実行速度が上がったことは伝わったかと思います。実行速度に苛まれている方のお役に立てれば幸いです。


かしこ。

公開日:2018/11/09
獲得ALIS:60.07
がくし's icon'
  • がくし
  • @gaxiiiiiiiiiiii
養蜂家。暇な時にプログラミングをして遊んでる。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

Like token Tip token
30.03 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Like token Tip token
40.40 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
32.32 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Like token Tip token
15.55 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS