はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ バイトコード

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 20 / 20件)
 

『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

2024/07/09 このエントリーをはてなブックマークに追加 100 users Instapaper Pocket Tweet Facebook Share Evernote Clip rust ネイティブコード プログラミング言語 言語 書籍

Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、という本で、大変面白く読みました。最終的にかなり本格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この... 続きを読む

なぜSQLiteはバイトコードを使うのか

2024/05/17 このエントリーをはてなブックマークに追加 96 users Instapaper Pocket Tweet Facebook Share Evernote Clip SQLite コンパイラ アーキテクチャ リプ 作者いわく

以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた ... 続きを読む

WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース

2024/02/06 このエントリーをはてなブックマークに追加 98 users Instapaper Pocket Tweet Facebook Share Evernote Clip OpenJDK WebAssembly CheerpJ 実装

WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース Webブラウザ上で実行可能なWebAssembly製JavaVM 前バージョンのCheerpJは、Javaのバイトコードを事前コンパイルによりJavaScriptコードに変換することで、Webブラウザ上でJavaアプリケーションを... 続きを読む

Python 内包表記の限界: 複雑な処理と実行速度の関係 - Qiita

2023/05/21 このエントリーをはてなブックマークに追加 104 users Instapaper Pocket Tweet Facebook Share Evernote Clip 文中 Qiita 追記 型ヒント 優位性

初めに 本記事は実務上で速度的優位性を得るために内包表記を使うことが合理的かどうか検証したものです。 文中のコードは読者層を広くするために型ヒントを省いています。 更新履歴 追記 (2023/05/24) 計測環境はPython3.12.0a6です。 修正 (2023/05/24) 記事中のバイトコードがPython3.7.16のものだったのでPython3.12... 続きを読む

JJUG CCC 2022 Spring ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

2022/06/19 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip jjug_ccc spring トラブルシューティング コア

JJUG CCC 2022 Spring に参加しました! いつも以上におもしろいセッション盛りだくさんで、参加してとても楽しかったです。 LINEのトラブルシューティングのような現場での経験をもとにした話から、バイトコードのようなJavaのコアな話まで、とてもバランスよくセッションが採択されていたからかなと思います。 特に前... 続きを読む

Kotlinのsuspend関数のバイトコードを読んでみた - ZOZO Technologies TECH BLOG

2021/01/28 このエントリーをはてなブックマークに追加 10 users Instapaper Pocket Tweet Facebook Share Evernote Clip Kotlin コルーチン 岩本 ドキュメント Android

こんにちは。福岡研究所の岩本(@odiak_)です。 みなさん、Kotlinのコルーチンを使っていますか? 私は、最近久しぶりにAndroidのコードを触る機会があり(3年ぶりくらいでしょうか)、以前から存在は知っていたものの詳しく知らなかったコルーチンを少し使ってみました。まずドキュメントを読んでみたのですが、よくデ... 続きを読む

JITとコードの暖気の実体 - #chiroito ’s blog

2020/09/18 このエントリーをはてなブックマークに追加 77 users Instapaper Pocket Tweet Facebook Share Evernote Clip JIT コミッタ ネイティブコード 暖気 OpenJDK

どうも、OpenJDKのコミッタをしてます。 とあるブログを読んでいたら気になる点があったので検証してみました。 JITと暖気 Javaプロセスはアプリケーションを動かしながら必要に応じてバックグラウンドでバイトコードをネイティブコードにコンパイルします。このコンパイル時にはCPUリソースを使用します。 コンパイルに... 続きを読む

MozillaはWebAssemblyをブラウザー外でも使えるようIntel、Red Hat、Fastlyと協力 | TechCrunch Japan

2019/11/13 このエントリーをはてなブックマークに追加 28 users Instapaper Pocket Tweet Facebook Share Evernote Clip fastly WebAssembly WASI アライアンス

Mozilla、Intel、Red Hat、Fastlyは米国時間11月12日、Bytecode Alliance(バイトコード・アライアンス)の発足を発表した。「WebAssemblyやWebAssembly System Interface(WASI)といった標準に基づいた、新しいソフトウェア基盤の構築」に焦点を当てた新しいオープンソースグループだ。 画像クレジット:Johnathan Nig... 続きを読む

Emacs Lisp で実装された Emacs バイトコードインタプリタを使ってバイトコードの解説 - Qiita

2018/12/03 このエントリーをはてなブックマークに追加 7 users Instapaper Pocket Tweet Facebook Share Evernote Clip emacs Qiita elisp emacs lisp 解説

前書き Emacs Lisp で実装された Emacs バイトコードインタプリタを使ってバイトコードの解説記事です。 正確には Emacs Lisp バイトコードと言うべきかもしれないですが、長いのでここでは Emacs バイトコードまたは単にバイトコードと言います。同様に Emacs Lisp を elisp と言います。 作成したバイトコードインタプ... 続きを読む

RubyのJITに生成コードのメモリ局所性対策を入れた話 - k0kubun's blog

2018/07/29 このエントリーをはてなブックマークに追加 88 users Instapaper Pocket Tweet Facebook Share Evernote Clip JIT CFP Rails RubyConf Ruby

昨日、RubyのJITの性能改善のためのパッチを入れた。 github.com buildersconで新ネタの1つとして話そうと思ってた話題だけど、CFPが通らなかったのでブログにまとめる。RubyConfに出してるCFPが通ったらそっちでは話すかも。 JITすればするほどRailsが遅くなる問題 Rubyの次期バージョンである2.6には、バイトコードをC... 続きを読む

HTTPリクエスト単位でmrubyのバイトコードをProcとFiberで包みなおして実行した場合の性能とv2について - 人間とウェブの未来

2018/02/21 このエントリーをはてなブックマークに追加 40 users Instapaper Pocket Tweet Facebook Share Evernote Clip 亮介 Fiber Proc ngx_mruby mruby

2018 - 02 - 22 HTTPリクエスト単位でmrubyのバイトコードをprocとfiberで包みなおして実行した場合の性能について プログラミング 研究 Webサーバ 2018年4月にngx_mrubyのノンブロッキングHTTPクライアントとノンブロッキングsleep相当のメソッドに対応させてngx_mruby v2.0.0をリリースするという目標を立てた — 松本 亮介 / まつもとり... 続きを読む

JITコンパイルでの冒険 パート1:インタプリタ | コンピュータサイエンス | POSTD

2017/09/12 このエントリーをはてなブックマークに追加 87 users Instapaper Pocket Tweet Facebook Share Evernote Clip インタプリタ JIT POSTD JITコンパイル 冒険

本記事では、BFのインタプリタがナイーブなアプローチから最適化されたバイトコードにコンパイルするアプローチへと徐々に洗練され、その過程で10倍も高速化されていく様子を見ていきます。このソース言語と、その最適化に伴うトレードオフのいくつかについて理解を深めていきましょう。本記事は、JITコンパイラに関するシリーズの第1回目です。計画としては、シンプルな入力言語を使ってそのインタプリタとJITをいくつ... 続きを読む

既存JavaアプリケーションをJavaScriptに変換「CheerpJ」 | OSDN Magazine

2017/06/22 このエントリーをはてなブックマークに追加 81 users Instapaper Pocket Tweet Facebook Share Evernote Clip CheerpJ コンパイラ Java 既存 リリース

米Leaning Technologiesは6月19日、Webアプリケーション向けJavaコンパイラ「CheerpJ」を発表した。既存のJavaアプリケーションをWebアプリケーションにJARアーカイブから直接変換できるという。 CheerpJはJavaのバイトコードをJavaScriptに変換するコンパイラ。同社は2003年にC++をJavaScriptにコンパイルする「Cheerp」をリリース... 続きを読む

解剖Kotlin ~バイトコードを読み解く~ // Speaker Deck

2017/03/09 このエントリーをはてなブックマークに追加 64 users Instapaper Pocket Tweet Facebook Share Evernote Clip Speaker Deck

Kotlinの特徴的な機能としてnull許容型や関数型や拡張関数などがよく取り沙汰されます。null安全だとか高階関数で簡潔に記述だとか拡張関数便利最高といった話は枚挙に暇がありません。確かに言語機能としていろいろとJavaに比べて便利なのは分かるんだけど、でもまぁ別にJavaを使っていてクリティカルに困っているわけではないしな〜学習コストとかチームへの導入コストを考えるとそこまで旨味を感じられる... 続きを読む

Microsoft、Apple、Google、MozillaがWeb高速化「WebAssembly」で協力 - ITmedia ニュース

2015/06/19 このエントリーをはてなブックマークに追加 24 users Instapaper Pocket Tweet Facebook Share Evernote Clip WebAssembly Mozilla Edge Apple

Microsoft、Apple、Google、MozillaがWeb高速化「WebAssembly」で協力 Chrome、Firefox、Edge、Safariなどで共通に使え、Web高速化を実現するバイトコード「WebAssembly」のプロジェクトがスタートした。 Microsoft、Mozilla、Google、Appleのエンジニアらが、Webブラウザの高速化を目指して協力する。それぞれの... 続きを読む

IntelliJ IDEA 14 EAP 138.1029 リリース – Javaデコンパイラを内蔵 | JetBrains ブログ

2014/07/12 このエントリーをはてなブックマークに追加 31 users Instapaper Pocket Tweet Facebook Share Evernote Clip EAP ビルド IntelliJ IDEA 内蔵 最新ビルド

IntelliJ IDEA 14 EAPをお試しの方は是非最新のビルドをダウンロードしてください。まだお試しでないかたも、これを機に是非! 最新ビルドで注目の機能は内蔵のJavaクラスデコンパイラです。サードパーティプラグインをインストールすることなく、ソースコードがないライブラリ内でどのようなことが行われているのか確認することができます。Java 8のバイトコードや、非Javaクラスの場合はうま... 続きを読む

mrubyのVMざっくり解説 - mirichiの日記

2014/04/28 このエントリーをはてなブックマークに追加 91 users Instapaper Pocket Tweet Facebook Share Evernote Clip mruby mirichi レジスタ スタック 読み書き

Rubyなんとなく、mrubyのVMの基本的なところを書いておこうと思ったので。誰かの参考になれば。大きな仕様的なところは、・32bit固定長のバイトコードを解釈して動作する。・レジスタをスタックに確保するタイプのレジスタマシンである。従って、スタックの任意の位置をレジスタ番号で指定して直接読み書き可能。・メソッドやブロックなどの単位でバイトコードがirep構造体にまとめられている。みたいな感じ。... 続きを読む

mrubyやKopiLuaにはなぜ文字連結用オペコードがあるの? ① (あるいはJavaの文字連結最適化について) - どみにっき

2013/12/07 このエントリーをはてなブックマークに追加 48 users Instapaper Pocket Tweet Facebook Share Evernote Clip mruby 前置き Java ソースコード 面白い部分

2013-12-08 mrubyやKopiLuaにはなぜ文字連結用オペコードがあるの? ① (あるいはJavaの文字連結最適化について) 前置き 最近色々ありましてmrubyやKopiLua(C#によるLua実装)のソースコードを読んだりしております。 ちょうどVM部分を読んでいたら、面白い部分を見つけました。mrubyのバイトコードにOP_STRCAT(文字連結)っていうのがあるのに驚いてたけど... 続きを読む

mrubyのバイトコードフォーマット解説 « 他人の空似

2013/12/02 このエントリーをはてなブックマークに追加 29 users Instapaper Pocket Tweet Facebook Share Evernote Clip mruby-redis 空似 mruby コンパイル済み 実装

この投稿はmruby Advent Calendar 2013の3日目の記事です。 2日目はsuzukazeさんのmruby-redisでランキングを実装、4日目はdycoonさんです。 はじめに mrubyのエンジンはソースコードを逐次解釈して実行しているわけではなく、専用のバイトコードに変換して保持し、それをVirtualMachineの上で解釈して実行しています。 であれば当然コンパイル済み... 続きを読む

Javaのhello worldの読み方

2011/08/13 このエントリーをはてなブックマークに追加 389 users Instapaper Pocket Tweet Facebook Share Evernote Clip Java Hello World args 前書き 読み方

Javaのhello worldの読み方 前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 ... 続きを読む

 
(1 - 20 / 20件)