Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
v8の人気記事 52件 - はてなブックマーク
[go: Go Back, main page]

並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 52件

新着順 人気順

v8の検索結果1 - 40 件 / 52件

v8に関するエントリは52件あります。 javascriptarticleJavaScript などが関連タグです。 人気エントリには 『2021年にJavaScriptやNode.jsを勉強し始めたので、読んで良かった資料をまとめる』などがあります。
  • 2021年にJavaScriptやNode.jsを勉強し始めたので、読んで良かった資料をまとめる

    2021年になってJavaScript、TypeScript、Node.jsの勉強を始めました。 この記事では、読んで良かった本、記事、公式ドキュメントなどをまとめていきます。 ※2021/03時点の情報です。 個人的なリンク集ですが、「これも読むと良いよ」というものがあればぜひ教えてください。 ECMAScript ECMAScriptの仕様は、EcmaのTC39で策定されている Ecma TC39 GitHub organization ep78 TC39 | mozaic.fm Node.jsの各バージョンでのECMAScriptサポート状況 JavaScript Misreading Chat - #86: JavaScript: the first 20 years JavaScript 二十年の歴史についての回 JavaScript チュートリアル | MDN JavaScri

    • RustでWebバックエンドを書き始めてから1年くらい経った

      はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日本でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し

        RustでWebバックエンドを書き始めてから1年くらい経った
      • そのJavaScript、V8が泣いてます。V8の気持ちを理解して書くパフォーマンス最適化

        このスライドはSlidevで作られており、以下のレポジトリで公開しています https://github.com/riya-amemiya/amemiya_riya_slide_data/tree/main/frontend_conf_tokyo_2025

          そのJavaScript、V8が泣いてます。V8の気持ちを理解して書くパフォーマンス最適化
        • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう

          Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確

          • V8エンジンによる内部変換コードでasync/awaitの挙動を理解する

            はじめに JavaScript の「非同期処理」ってやっぱりかなり難しくないですか? 自分も色々試行錯誤しましたが、結局「完全に理解した🤓」→「やっぱり何も分からん😭」っていうループの中で泥臭く理解を深めていくしかないようです。 さて、非同期処理の制御をある程度予測できるようになるには、非同期 API を提供する環境のことやイベントループ、マイクロタスクなどの仕組みについて理解する必要があります。 そして環境に埋め込まれた JavaScript Engine のことも理解する必要があります。 今回の記事では、JavaScript Engine の1つである V8 が内部で変換するコードから async/await の挙動を理解するための解説を試みたいと思います。V8 エンジンからアプローチすることで async/await の分かりづらい挙動を掌握して非同期処理を打倒します。 今回の記

              V8エンジンによる内部変換コードでasync/awaitの挙動を理解する
            • Introducing Deopt Explorer - TypeScript

              Over the past few months, during the lead-up to the TypeScript 5.0 beta, our team spent a good portion of our time looking for ways to improve the performance of our compiler so that your projects build faster. One of the ways we improved was by looking into an oft overlooked aspect of many JavaScript VMs: inline caching. A Brief Primer on Inline Caching Inline caching is an optimization often use

                Introducing Deopt Explorer - TypeScript
              • 入門Cloudflare Workers

                はじめに この記事はCloudflare Workersの入門記事です。 名前は聞いたことがあるけれどCloudflare Workersが何者か知らない方 「Cloudflare Workersはサーバーレス・エッジコンピューティングサービスだよ」と説明されて日本語でOKと感じた方 AWSのLambdaやGCPのCloud Runと似たコンセプトのサービスだろうと認識されている方 上記に当てはまる方のお役に立てるはずです。 開発環境の構築 まずは開発環境を構築しましょう。といっても、最新のnode.jsをインストールするだけです。 インストールできたらバージョンを確認しておきましょう。 補足 v16.13.0より新しいバージョンのnodeが必要になります。記事を読み進めて不具合が発生した場合はnodeのバージョンを確認してください。 Windowsの動作検証はしていません。ここから先の手

                  入門Cloudflare Workers
                • JavaScriptのJITをざっくり理解する会

                  まずV8は普段自分たちが書いたコードをいくつかのスレッド上で実行するっぽい。 1つはソースコードを取ってきてそれを実行するやつ。それ以外に最適化を行うためのスレッド、プロファイラ、GCなどがあるようだ。 この最適化というのが今回調べたいJITってやつ。 そもそもインタプリタとの差を把握したい。 今の自分の把握の中では、インタプリタは逐次実行をするもの、JITは実行よりも前の段階でコンパイルをしてコンパイル済みのコードを実行すると言った差があるように思える。 このため一般的にはJITが効いたものの方がパフォーマンスが良いとされており、V8もインタプリタで実行するのではなくJITをベースに実行して行っているっぽい

                    JavaScriptのJITをざっくり理解する会
                  • Optimizing Javascript for fun and for profit

                    I often feel like javascript code in general runs much slower than it could, simply because it’s not optimized properly. Here is a summary of common optimization techniques I’ve found useful. Note that the tradeoff for performance is often readability, so the question of when to go for performance versus readability is a question left to the reader. I’ll also note that talking about optimization n

                    • PPLサマースクール2021 「JavaScript処理系とChromeブラウザの実装技術」 - 日本ソフトウェア科学会 プログラミング論研究会 (JSSST-SIGPPL) (Special Interest Group on Programming and Programming Languages)

                      ニュース † Web ページを公開しました (6/29) 無事終了しました。講演資料へのリンクを追記しました (9/1) ↑ 概要 † JavaScript は世界でもっとも利用されている重要なプログラミング言語の一つであり、ウェブブラウザで利用可能なほぼ唯一のプログラミング言語という特徴から、ウェブアプリケーション開発で広く利用されています。 この重要性から、JavaScript処理系の性能改善に関する研究開発が活発に行われてきました。JavaScriptの性能改善は、動的な言語ながらの困難さも知られています。今年のサマースクールでは、鵜川さん(東京大学)にJavaScriptの実装技術について、その困難さをどう克服するか、基本的なところからご紹介いただきます。 JavaScriptを動作させるソフトウェアとして、Google が開発を主導するV8処理系、およびそれを利用するGoogle

                      • V8エンジンの最適化戦略

                        V8エンジンは、JavaScriptの実行性能を最大化するために3つの特殊化されたコンパイラを戦略的に使い分けています。 Sparkplug:高速な非最適化コンパイラ Maglev:中間層の最適化コンパイラ TurboFan:高度な最適化コンパイラ これらが実行頻度に応じて段階的に適用されることで、最適なパフォーマンスを実現しています。 Sparkplug:常識を覆した高速コンパイラ V8 v9.1で導入されたSparkplugは、従来のコンパイラ設計の常識を完全に無視することで、驚異的な高速コンパイルを実現しました。 核心的な実装 通常のコンパイラは、ソースコード → AST → 中間表現 → 最適化 → 機械語という段階を踏みます。しかしSparkplugはこれらを全て省略し、バイトコードから直接機械語を生成します。実装の中核は、コンパイラ全体が実質的に巨大なswitch文を含む単一の

                          V8エンジンの最適化戦略
                        • V8 JavaScript engineで寒い冬を暖かく過ごしたい - iimon TECH BLOG

                          はじめに v8の概略 JavaScriptの処理ってどうなっているの? スタック領域とヒープ領域 コールスタック タスクキューとマイクロタスクキュー イベントループ v8で遊ぶ まとめ Appendix さいごに 参考 はじめに こんにちは! 株式会社iimonでエンジニアをしている「ひが」です! 本記事は iimonアドベントカレンダー5日目の記事です! 先日TSKaigi Hokuriku 2025で登壇してきました。 (唐突にすみません、、) https://hokuriku.tskaigi.org/talks/18 人生初の登壇でめちゃくちゃ緊張しましたがなんとかやり切って一命を取りとめました。 資料は下記で公開しているので、興味のある方はぜひ見ていってください!(宣伝です笑) 「denoとtypescriptの関係について改めて考えてみる」 https://speakerdeck

                            V8 JavaScript engineで寒い冬を暖かく過ごしたい - iimon TECH BLOG
                          • 304 Not Modified は JavaScript も速くする? - Repro Tech Blog

                            はじめに こんにちは、Repro Booster のプロダクトマネージャーの Edward Fox(@edwardkenfox)です。 HTTP 304 Not Modified というステータスコードをご存知でしょうか。ブラウザがキャッシュ済みのリソースを再検証する際、サーバーが「変更されていないのでキャッシュを使ってください」と応答するためのステータスコードです。レスポンスボディが省略されるため転送量が削減され、結果としてページの読み込みが速くなる、というのが一般的な説明かと思います。 304 レスポンスには転送量の削減以上のメリットがあります。それは Chrome (Chromium)の JavaScript エンジンである V8 のコードキャッシュが再利用される、という点です。これにより JavaScript のコンパイル処理がスキップされ、スクリプトの実行開始が早まります。 少し

                              304 Not Modified は JavaScript も速くする? - Repro Tech Blog
                            • Next.jsの開発元Vercel、Edge FunctionsでWebAssemblyのサポートを発表

                              Next.jsの開発元Vercel、Edge FunctionsでWebAssemblyのサポートを発表 Next.jsの開発元であり、Webアプリケーションのホスティングサービスなどを提供するVercelは、CDNエッジでJavaScriptを実行できる「Vercel Edge Functions」でWebAssemblyのサポートを発表しました。 WebAssembly is now supported in Vercel Edge Functions. Code in C, Go, Rust, and more – and run it at the Edge.https://t.co/N5NKwmJ3mn — Vercel (@vercel) August 26, 2022 Vercel Edge FunctionsはCDNエッジでJavaScriptを実行し、認証用プロキシやキャ

                                Next.jsの開発元Vercel、Edge FunctionsでWebAssemblyのサポートを発表
                              • Sparkplug — a non-optimizing JavaScript compiler · V8

                                Show navigation Writing a high-performance JavaScript engine takes more than just having a highly optimising compiler like TurboFan. Particularly for short-lived sessions, like loading websites or command line tools, there’s a lot of work that happens before the optimising compiler even has a chance to start optimising, let alone having time to generate the optimised code. This is the reason why,

                                • Node.js のコンパイルキャッシュで Cloud Run のコールドスタートを速くする

                                  この記事は情報の提供のみを目的としています.この方法を用いたことにより発生したいかなる損害について,私および弊社は責任を負いません. はじめに 弊社ビットキーでは,フロントエンドはもちろんのこと,バックエンドに至るまで TypeScript を活用しています.言語を統一することで,言語間のコンテキストスイッチを無くしたり,また一部のコードを共有することで開発効率の向上を図っています.TypeScript からトランスパイルされたバックエンドサーバは Node.js 上で動作し, Google Cloud の Cloud Run にデプロイしています. Cloud Run は,複雑な構成を取ることなくアプリケーションをスケーラブルにデプロイできる良いサービスです.しかし,その特性上アプリケーションのコールドスタートが発生する可能性があります.この記事では,Node.js のコンパイルキャッシ

                                    Node.js のコンパイルキャッシュで Cloud Run のコールドスタートを速くする
                                  • Object Structure in JavaScript Engines

                                    Object Structure in JavaScript EnginesFrom a developer's perspective, objects in JavaScript are quite flexible and understandable. We can add, remove, and modify object properties on our own. However, few people think about how objects are stored in memory and processed by JS engines. Can a developer's actions, directly or indirectly, impact performance and memory consumption? Let's try to delve i

                                      Object Structure in JavaScript Engines
                                    • Boost Node.js with V8 GC Optimization

                                      Optimizing Node.js Performance: V8 Memory Management & GC Tuning Prevent Crashes and Improve Latency by Understanding and Tuning V8's Garbage Collection for Your Node.js Application A common observation for Node.js developers is the seemingly continuous growth of their application's memory footprint, often measured by the Resident Set Size (RSS) reported by the operating system. This increasing RS

                                        Boost Node.js with V8 GC Optimization
                                      • Node.js v20 から使える ECMAScript の新機能

                                        Node.js v20 リリースされました。 V8 のバージョンが 11.3 まで上がったことで、いくつかの新しい ECMAScript の機能が使えるようになりました。v フラグが好きなのでうれしいです。 どのバージョンからどの機能が使えるようになったかとか忘れてしまうのでメモしておきます。 String.prototype.isWellFormed / String.prototype.toWellFormed 文字列が Well Formed Code Unit Sequence かどうか判定する isWellFormed と、それに変換する toWellFormed が追加されます。WebIDL の文脈では USV 文字列とか言われますね。 これは WebAssembly みたいな USV 文字列前提の環境とやり取りするときに便利。Babel みたいな JavaScript を解釈

                                          Node.js v20 から使える ECMAScript の新機能
                                        • Super fast super property access · V8

                                          Show navigation The super keyword can be used for accessing properties and functions on an object’s parent. Previously, accessing a super property (like super.x) was implemented via a runtime call. Starting from V8 v9.0, we reuse the inline cache (IC) system in non-optimized code and generate the proper optimized code for super property access, without having to jump to the runtime. As you can see

                                          • A new way to bring garbage collected programming languages efficiently to WebAssembly · V8

                                            Show navigation A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two m

                                            • GitHub - lmt-swallow/puppy-browser: An example implementation of a tiny Web browser for educational purposes.

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                GitHub - lmt-swallow/puppy-browser: An example implementation of a tiny Web browser for educational purposes.
                                              • PPL C++とJSを跨ぐ クロスコンポーネント ガベージコレクタ

                                                このブラウザ バージョンのサポートは終了しました。サポートされているブラウザにアップグレードしてください。

                                                  PPL C++とJSを跨ぐ クロスコンポーネント ガベージコレクタ
                                                • Announcing Stable V8 Bindings for Rust | Deno

                                                  Deno is a modern, zero-config JavaScript runtime written in Rust. At its core is Rusty V8, a library that provides high-quality, zero-overhead Rust bindings to V8’s C++ API. Over the past five years, Rusty V8 has undergone nearly 150 releases, racking up more than 3.1 million downloads on crates.io. Today, we’re excited to announce a major milestone: Rusty V8 is now stable and production-ready. Wh

                                                    Announcing Stable V8 Bindings for Rust | Deno
                                                  • How we made JSON.stringify more than twice as fast · V8

                                                    JSON.stringify is a core JavaScript function for serializing data. Its performance directly affects common operations across the web, from serializing data for a network request to saving data to localStorage. A faster JSON.stringify translates to quicker page interactions and more responsive applications. That’s why we’re excited to share that a recent engineering effort has made JSON.stringify i

                                                    • Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints · V8

                                                      Getting JavaScript running fast is key for a responsive web app. Even with V8's advanced optimizations, parsing and compiling critical JavaScript during startup can still create performance bottlenecks. Knowing which JavaScript functions to compile during the initial script compilation can speed up web page loading. When processing a script loaded from the network, V8 has to choose for each functi

                                                      • V8の奥に潜むプログラミング言語 Torqueを触ってみた - Qiita

                                                        はじめに 「JavaScriptのMath.Powはなぜ速いのか」という質問を読んでいたら、V8の組み込み関数に「Torque」という言語が使われているという記述を見つけました。 高速化のために、プログラミング言語処理系の中だけで使われるプログラミング言語...ロマンを感じずにはいられません。実際にTorqueを動かしてみましょう。 バージョン V8: 記事執筆時点(2022/9/18)のmainブランチ 言語の概要 TorqueはV8組み込み関数の最適化処理を記述するために使われています。C++ではなくあえて別言語を使うのは、ロジックの可読性を上げるためだそうです。 プログラミング言語 V8 Torqueによって、V8プロジェクトに貢献する開発者は無関係な詳細実装に煩わされることなく、VMへの変更の意図に専念し変更を表現することができるようになります。この言語はECMAScriptの仕様

                                                          V8の奥に潜むプログラミング言語 Torqueを触ってみた - Qiita
                                                        • V8 の JSON.stringify が二倍高速になった理由 (翻訳) - inzkyk.xyz

                                                          JSON.stringify はデータのシリアライズで中心的な役割を果たす JavaScript 関数であり、そのパフォーマンスはウェブにおける様々な基礎的操作に影響する。例えばネットワークリクエストを組み立てる処理や localStorage にデータを保存するときのデータの変換で JSON.stringify は利用される。この関数が高速になればページのインタラクションが高速になり、アプリケーションの待ち時間が短くなる。そのため、ここ最近のエンジニアリングの成果によって V8 の JSON.stringify が二倍以上高速になったと伝えられることを我々は嬉しく思っている。この記事では、この改善を可能にした技術的な最適化を解説する。

                                                            V8 の JSON.stringify が二倍高速になった理由 (翻訳) - inzkyk.xyz
                                                          • GitHub - lagonapp/lagon: Deploy Serverless Functions at the Edge. Current status: Alpha

                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                              GitHub - lagonapp/lagon: Deploy Serverless Functions at the Edge. Current status: Alpha
                                                            • Pointer compression in Oilpan · V8

                                                              Show navigation It is absolutely idiotic to have 64-bit pointers when I compile a program that uses less than 4 gigabytes of RAM. When such pointer values appear inside a struct, they not only waste half the memory, they effectively throw away half of the cache. – Donald Knuth (2008) Truer words have (almost) never been spoken. We also see CPU vendors not actually shipping 64-bit CPUs and Android

                                                              • 「Google Chrome」に脆弱性、「WebGPU」の解放後メモリ利用と「V8」の境界外読み書き/修正版が公開、Windows環境ではv143.0.7499.146/.147が展開中

                                                                  「Google Chrome」に脆弱性、「WebGPU」の解放後メモリ利用と「V8」の境界外読み書き/修正版が公開、Windows環境ではv143.0.7499.146/.147が展開中
                                                                • Land ahoy: leaving the Sea of Nodes · V8

                                                                  V8’s end-tier optimizing compiler, Turbofan, is famously one of the few large-scale production compilers to use Sea of Nodes (SoN). However, since almost 3 years ago, we’ve started to get rid of Sea of Nodes and fall back to a more traditional Control-Flow Graph (CFG) Intermediate Representation (IR), which we named Turboshaft. By now, the whole JavaScript backend of Turbofan uses Turboshaft inste

                                                                  • How Bun supports V8 APIs without using V8 (part 1) | Bun Blog

                                                                    Bun.Terminal API, compile-time feature flags, improved Bun.stringWidth accuracy, V8 C++ value type checking APIs, Content-Disposition support fo... URLPattern API, Fake Timers for bun:test, Custom Proxy Headers in fetch(),console.log %j format, http.Agent connection pooling fix, Standalone e...

                                                                    • v8によって生成されるbytecodeを確認してみる - kakts-log

                                                                      Qiita Node.js アドベントカレンダー2021の20日目の記事です qiita.com v8のbytecodeについて、自分で書いたコードでどうやって確認するか気になったので調べてみました。 v8によるバイトコード生成 v8がどうやってバイトコード、機械語を生成するかざっくりと整理します。 v8がJavaScriptをコンパイルするとき、パーサはASTを生成します。 ASTはJavascriptコードの文法構造を表現したツリーです。 v8のインタプリタであるIgnitionはこのASTからバイトコードを生成します。 一方で、最適化コンパイラであるTurboFanは最終的にバイトコードを取得し、そのバイトコードから最適化された機械語を生成します。 なぜv8がこの2つの実行モードを持っているかについては、下記の動画で説明されています。 youtu.be JavaScriptコードから

                                                                        v8によって生成されるbytecodeを確認してみる - kakts-log
                                                                      • GitHub - microsoft/deoptexplorer-vscode: A VS Code extension to visualize deoptimizations in your JavaScript and TypeScript code running in V8 (i.e., NodeJS, Edge, Chrome, etc.).

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                          GitHub - microsoft/deoptexplorer-vscode: A VS Code extension to visualize deoptimizations in your JavaScript and TypeScript code running in V8 (i.e., NodeJS, Edge, Chrome, etc.).
                                                                        • The V8 Sandbox · V8

                                                                          After almost three years since the initial design document and hundreds of CLs in the meantime, the V8 Sandbox — a lightweight, in-process sandbox for V8 — has now progressed to the point where it is no longer considered an experimental security feature. Starting today, the V8 Sandbox is included in Chrome's Vulnerability Reward Program (VRP). While there are still a number of issues to resolve be

                                                                          • V8 Torque user manual · V8

                                                                            V8 Torque is a language that allows developers contributing to the V8 project to express changes in the VM by focusing on the intent of their changes to the VM, rather than preoccupying themselves with unrelated implementation details. The language was designed to be simple enough to make it easy to directly translate the ECMAScript specification into an implementation in V8, but powerful enough t

                                                                            • GitHub - alshdavid/ion: A Positively Charged JavaScript Runtime

                                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                GitHub - alshdavid/ion: A Positively Charged JavaScript Runtime
                                                                              • V8 release v9.3 · V8

                                                                                Every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s main Git branch immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, V8 version 9.3, which is in beta until its release in coordination with Chrome 93 Stable in several weeks. V8 v9.3 is filled with all sorts of developer-facing goodies. This po

                                                                                • V8 release v9.1 · V8

                                                                                  Every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, V8 version 9.1, which is in beta until its release in coordination with Chrome 91 Stable in several weeks. V8 v9.1 is filled with all sorts of developer-facing goodies. This post pr

                                                                                  新着記事