0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CSSAdvent Calendar 2024

Day 20

ゼロランタイムってなんだっけ?

Posted at

これは何

昨今、Kuma UIPigment CSSなどのCSS-in-JSライブラリがどんどん出てきて、そこによくZero-runtimeという文言を見かけます。
そこでよく見かけるけど「ゼロランタイム」とはなんだろう?ということろから始まり、「これをもし新卒に聞かれたら全く説明できないな」と思ったので記事にしてまとめてみました。

まずランタイムとは

ランタイム(runtime)とは、開発したコンピュータプログラムを実行する時のこと。「実行時」と訳語を用いることも多い。対義語は「開発時」あるいは「コンパイル時」(compile-time/コンパイルが必要なプログラミング言語の場合)。

ランタイムがプログラムを実行する時という意味なら、ゼロランタイムってなんだ…?
ちょっと分からなくなってきました。

ゼロランタイムとは

ゼロランタイム(Zero-runtime)とは、特定のライブラリがプログラムの実行時に追加のオーバーヘッドを引き起こさないことを指します。これは、そのライブラリがプログラムのコンパイル時(またはビルド時)にすべての作業を完了し、実行時には追加の処理を必要としないことを意味します。
例えば、スタイルシートを扱うCSS in JSのライブラリの中には、ゼロランタイムとして設計されたものがあります。これらのライブラリは、ビルド時にJavaScriptから静的なCSSファイルを生成し、実行時にJavaScriptによるスタイルの操作を行わないため、パフォーマンスを向上させることができます。

何となくわかった…?:thinking:
いや、「追加のオーバーヘッド」ってなんだ…?

オーバーヘッドとは

「オーバーヘッド」(overhead)とは、コンピューターで何らかの処理を行う際に、その処理を行うために必要となる余分な処理や手続き、システムの負荷、処理時間などを指す用語です。
本来必要のない処理や時間がかかってしまうことを指し、アプリケーションやシステムのパフォーマンス低下やエラーの原因になります。
オーバーヘッドを減らすためには、効率的なアルゴリズムの使用や、メモリやリソースの最適化、不要な処理の削除などが必要です。
ただし、完全にオーバーヘッドをなくすことはできないため、最小限に抑えることが大切です。

完全に理解した(ダニング・クルーガー効果)

つまりゼロランタイムとは、プログラムが実行された時におこるシステムの負荷を減らしページの読み込み時間の軽減など、エンドユーザーにとってもメリットがありそうだという事が分かりました。

パフォーマンスの事を詳しく知るために、Chrome for Developersの以下のページとかを読んでおく必要があるみたいですね。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?