totqkke
@totqkke

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Atcoderにおいて使用するSympyが異常なほどに遅い

Q&A

Closed

sympyが異様に遅い

以下のコードだけでもpypy使用で4600msほどかかりました。
CPython(3.11.4)でも1100msほどです。
どうしてこんなに遅いんでしょうか。

import sympy
for i in range(1,100):
  a=sympy.prime(i)
import sympy

だけでも1000msほどかかっています。
とても不思議です。
どなたか理由をご存知でしょうか

0

2Answer

sympyは純Pythonのみで書かれてるのでCPython関係なく遅いはずですね.
1000msかかるぐらいの機能性はあると思います.
M1 Macで動かしたところ体感そんなにかかってないのもあって,ジャッジ環境のスレッド数とか関係してそうですね.

1Like

Comments

  1. @totqkke

    Questioner

    そういう理由が考えられるんですねなるほど…
    全然探しても理由が見つからなくて検討もつかなかったので少し納得出来ました!

sympyは素数計算だけのライブラリーではないのでロードに時間を要するのでしょう。
CPythonはコンパイルしているので、2回目が劇的に早いと思います。

Atcoderはコード、アルゴリズムの競技ですよね! 他人のふんどしのライブラリーを身に着け試合に出てはダメなのでは?

素数くらい自力で計算すべきでは?

p.s. 私はEASY開発委員会の精神にのっとり、ラクしたいので,import にprime
だけ、loadする呪文を唱えます。ズルします。

1Like

Comments

  1. @totqkke

    Questioner

    承知の上です!
    ただ使えるようになったって記事を見かけたのでどんなもんかと使ってみたらとても遅かったので気になって質問した次第です!

Your answer might help someone💌