並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 14 件 / 14件

新着順 人気順

高速化の検索結果1 - 14 件 / 14件

  • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう

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

    • Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog

      お久しぶりです、ANDPADボードの tomtwinkle です。 この記事はGoの go:linkname 騒動は 6/18に行われた Go Bash で話した内容を要約したものです。 そもそも go:linkname とは何かといえば internal packageやprivate var/funcなど普通はアクセスできないオブジェクトシンボルをエイリアス出来るようCompilerに指示して、アクセス可能にするcompiler directiveです。 go:linkname はprivateな変数へアクセス可能な便利なものでしたが unsafe packageのimportを必須とする通り、せっかく互換性や安全を考慮して作られているGoプログラムを簡単に破壊できる諸刃の剣でした。 詳細は発表スライドを見てください。 go:linkname 禁止騒動 Go 1.23 のリリースまで2

        Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog
      • ARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)

        前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たない JavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言

        • 身近なBtoCサービスを支えるアーキテクチャ大解剖 技術選定のポイントと今後の展望 - Findy Tools

          公開日 2024/06/18更新日 2024/06/18身近なBtoCサービスを支えるアーキテクチャ大解剖 技術選定のポイントと今後の展望 多くのIT企業では、ユーザーに対してより高品質で安定した体験を提供するために、システムアーキテクチャを進化させ続けています。 本特集では、日常生活の中で多くのユーザーに利用されているサービスのアーキテクチャ設計に携わるエンジニアの方々から、技術選定の背景や意図、そして現在のアーキテクチャの課題から未来への展望まで、詳しく伺いました。この記事を通じて、各企業のエンジニアたちがどのように技術的な課題を克服し、システムの柔軟性と効率を高めているのか、知見を得ていただければ幸いです。 ※ご紹介は企業名のアルファベット順となっております アソビュー株式会社 アソビュー株式会社では「遊び」という領域に対し、マーケットプレイス型EC「アソビュー!」やD2C型SaaS

            身近なBtoCサービスを支えるアーキテクチャ大解剖 技術選定のポイントと今後の展望 - Findy Tools
          • イベント駆動とドメインモデルの完全性を意識したアーキテクチャ設計

            こんにちは。LINEヤフー株式会社で、出前館というプロダクトのサーバーサイドエンジニアをしている古田大志です。 株式会社出前館はLINEヤフーのグループ会社です。資本業務提携を結んでいて、LINEヤフーが開発などをサポートしています。 詳しくはこちらをご参照ください。(https://corporate.demae-can.co.jp/pr/news/demaecan/line.html)(外部サイト) 今回の記事では、その出前館における開発の内容を紹介させていただきます。 出前館はデリバリーサービス事業のプロダクトで、開発においてはマイクロサービスアーキテクチャを採用しています。出前館のマイクロサービスの1つに、クーポンに関するドメインの責務を持ったコンポーネントであるクーポンサービスがあります。 クーポンサービスでは、ビジネスエンハンスに伴う「非機能要件の増大」や「仕様の複雑さの肥大化

              イベント駆動とドメインモデルの完全性を意識したアーキテクチャ設計
            • 「入門 継続的デリバリー」は継続的デリバリーを学ぶのに最適な教科書だった. - Lean Baseball

              最近読んだ「入門 継続的デリバリー」がとても良かったので紹介しますね, というエントリーです. 入門継続的デリバリー良かったです. 「継続的デリバリー(Continuous Delivery)」とか「DevOps」ってどこから学ぶかわからんな!? というのは割とあるあるだと思っています, そもそもめちゃくちゃ難しい話なので(ちゃんと学ぼうとすると). そんな中, 「入門 継続的デリバリー」がよく説明できてて良かったので感想と関連する書籍を紹介できればと思っています. TL;DR 入門 継続的デリバリー 我々はなぜCDをするのか? 具体的なプラクティス 入門後に読むべき良著 Kubernetes CI/CDパイプラインの実装 継続的デリバリー チームトポロジー 結び - 我思うCDとDevOps TL;DR 「入門 継続的デリバリー」は継続的デリバリーの大切さと概念, 手法を現実にありそうな

                「入門 継続的デリバリー」は継続的デリバリーを学ぶのに最適な教科書だった. - Lean Baseball
              • オブザーバビリティの最前線 OpenTelemetryで下げる認知負荷~活用事例4選~ - Findy Tools

                公開日 2024/05/29更新日 2024/06/06オブザーバビリティの最前線 OpenTelemetryで下げる認知負荷~活用事例4選~ 近年マイクロサービスアーキテクチャの普及やクラウドネイティブの普及が進み、システムの複雑性は増す一方です。システムの動作を正確に把握することはますます困難になっており、そのような状況の中で、オブザーバビリティはシステムを安定的に運用するために必要不可欠な要素になってきています。 そして、オブザーバビリティの重要性の認知が高まるにつれて、多くの企業でオブザーバビリティに関するツールの導入も進み始めています。 そのような潮流の中、オブザーバビリティ分野でさらなる大きな可能性を持つプロジェクトがOpenTelemetryになります。 本記事では、OpenTelemetryとは一体どんなものなのか、そして実際にOpenTelemetryの導入・活用に成功し

                  オブザーバビリティの最前線 OpenTelemetryで下げる認知負荷~活用事例4選~ - Findy Tools
                • Findyの爆速開発を支えるテクニック - Findy Tech Blog

                  こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 早速ですが、これは弊社のとあるチームの1ヶ月のサイクルタイムです。 最初のコミットからマージされるまで平均3.6時間程度と、開発に着手したらその日のうちにリリースされるのがデフォルトとなっています。 今回はこの開発スピードを継続し、更に速くするために弊社で実践しているテクニックを紹介していきます。 それでは見ていきましょう! タスク分解 Pull requestの粒度 テスト CI/CD 高速化 自動化 通知 まとめ タスク分解 開発タスクをアサインされた時、まず最初にタスク分解をします。 タスク分解をすることによるメリットとしては、 工数見積もりの精度が上がる 対応方針の認識を他メンバーと合わせやすくなる 対応漏れに気づきやすくなり、手戻りの発生が少なくなる Pull requestの粒度を適切に保つことが

                    Findyの爆速開発を支えるテクニック - Findy Tech Blog
                  • E2Eテストワークフローを高速化・安定化させる取り組み | ドクセル

                    スライド概要 GitHub Actions Meetup Tokyo #3 https://gaugt.connpass.com/event/317178/ このプレゼンテーションでは、サイボウズ社のGaroonのE2Eテストについて、GitHub Actions self-hosted runner 上で実行していたE2Eテストを高速化・安定化させるために取り組んだこと、E2Eテストワークフローの視点の改善アイディアについて話されます。GaroonのE2Eテストにおける実行時間とFlakyが問題となっており、その改善に取り組んだ内容が紹介されています。 おすすめタグ:GitHub Actions,E2Eテスト,self-hosted runner,Garoon,テストワークフロー

                      E2Eテストワークフローを高速化・安定化させる取り組み | ドクセル
                    • API Gateway不要!? Lambda関数URLでのAPI構築について考える

                      Lambda関数URLで、HTTPリクエストを介して直接Lambda関数を呼び出すことが可能になりました。 これまで、Lambda関数をAPI経由で実行するためにはAPI Gatewayを使用する必要がありました。しかし、Lambda関数URLの登場により、API Gatewayを使わずにLambda関数を直接実行できるようになりました。 Lambda関数URLを使うと、API Gatewayのセットアップや管理の手間を省けます。また、API Gatewayが引き起こす遅延やコストも削減できます。 ただし、API Gatewayには多くの利点もあります。 この記事では、Lambda関数URLの利用方法とその利点、注意点について詳しく解説します。Lambda関数とAPI Gatewayのどちらを選ぶか迷っている方は、ぜひ参考にしてください。 Lambda関数URLとは Lambda関数URL

                        API Gateway不要!? Lambda関数URLでのAPI構築について考える
                      • AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 (1/2)

                        Windows 12は名前に過ぎないので 出るか出ないのかは、すべてMicrosoft次第 「Windows 11」というのはMicrosoftが提供するOSの名前である。Windows 95以来のWindowsは、ソフトウェアなのにバージョンではなく名前で区別されるようになった。 もちろんそれぞれのWindowsにもバージョン番号自体はある。現在のWindows 11には、Ver.23H2というバージョンがあって、次のバージョンは、Ver.24H2になる予定だ。しかし、これもWindows 11という名前の中で、それぞれを区別する名前の一部でしかない。 これらはあくまでも名前なので、技術的な観点ではなく、ビジネス的な観点から付けられる。Windows 10もWindows 11も、内部的には「10.0.xxxxx」というバージョン番号を持つ。この番号になったのは、Windows 10から

                          AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 (1/2)
                        • ゲーム内の円周率が「3.14159……」ではない場合どうなるのか?

                          円周率は無理数であり、その値が「3.14159……」となることはよく知られています。こうした円周率はグラフィカル・プログラミングやビジュアル・レンダリングの一環としてゲーム内でも用いられることがありますが、あの伝説的なFPSゲーム「Doom」に用いられた円周率の値は間違っているそうです。こうした「誤った円周率」がゲームに用いられた場合どうなるのか、ソフトウェアエンジニアのルーク・ゴツリング氏が解説しました。 Non-Euclidean Doom: what happens to a game when pi is not 3.14159… - media.ccc.de https://media.ccc.de/v/mch2022-236-non-euclidean-doom-what-happens-to-a-game-when-pi-is-not-3-14159- 円周率とは、円の直径に

                            ゲーム内の円周率が「3.14159……」ではない場合どうなるのか?
                          • Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG

                            はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 本連載では、ZOZOTOWNリプレイスプロジェクトについて紹介します。2017年に始まったリプレイスプロジェクトにおいて、ZOZO がどのような意図で、どのように取り組んできたのか、読者のみなさんに有益な情報をお伝えしていければと思いますので、ご期待ください。第1回目のテーマは、「ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計」です。 目次 はじめに 目次 ZOZOTOWNリプレイスの背景、目的 背景 目的 柔軟なシステム 開発生産性 技術のモダン化 採用強化 ZOZOTOWNリプレイスの歴史とアーキテクチャの変遷 アーキテクチャの変遷 2004年〜2017年:オンプレミス(リプレイス前) 2017年〜20

                              Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG
                            • Chromiumを使ってChromeよりもさらに高速なウェブブラウザを開発するプロジェクト「Thorium」とは?

                              Googleによって開発とメンテナンスが行われているウェブブラウザのオープンソースプロジェクト「Chromium」を用いることで、Microsoft EdgeやOperaなど、さまざまなウェブブラウザを作り出すことができます。エンジニアのアレクサンダー・フリック氏は、Chromiumを基に、Googleのウェブブラウザ「Chrome」よりも高速なウェブブラウザである「Thorium」を開発しています。 Outline of benefits of Thorium over vanilla Chromium. https://alex313031.blogspot.com/2022/01/outline-of-benefits-of-thorium-over.html Thorium Browser https://thorium.rocks/ ウェブブラウザのThoriumは原子番号90の

                                Chromiumを使ってChromeよりもさらに高速なウェブブラウザを開発するプロジェクト「Thorium」とは?
                              1