Techioz Blog

Ruby 3.1.4 から 3.2.2 および 3.3.0 にアップグレードすると、アプリケーションの仕様が遅くなります

概要

Ruby のバージョンを v3.1.4 から v3.2.2 にアップグレード中です。 この仕様では、v3.1.4 では 18 ~ 19 分かかりますが、v3.2.2 では約 45 ~ 47 分実行されます。

これは、Ruby 3.1.4 の rspec を実行するときに test.log に表示されるログの 1 つです。

User Create (1.7ms)  INSERT INTO "users" ("email", "encrypted_password", "role", "reset_password_token", "reset_password_sent_at") 

Ruby 3.2.2 および 3.3.0 の場合と同様

User Create (8.6ms)  INSERT INTO "users" ("email", "encrypted_password", "role", "reset_password_token", "reset_password_sent_at") 

アップグレード中に何が足りないのか考えられます。これまでに多くのアップグレードを行ってきましたが、今回は違います。

解決策

犯人の宝石を見つけました。 BigDecimal の宝石でした。 bigDecimal gem v3.1.1 までは良かったです。 v3.1.2 で何かが変更され、速度が低下し始めました。とにかく、ブロックは解除されており、アップグレードも順調です。皆さん、質問に答えるために時間を割いていただきありがとうございました。