タグ

v8とJavaScriptに関するOooのブックマーク (13)

  • GitHub - eclipsesource/J2V8: Java Bindings for V8

    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 - eclipsesource/J2V8: Java Bindings for V8
  • Adding BigInts to V8 · V8

    Over the past couple of months, we have implemented support for BigInts in V8, as currently specified by this proposal, to be included in a future version of ECMAScript. The following post tells the story of our adventures. TL;DR #As a JavaScript programmer, you now[1] have integers with arbitrary[2] precision in your toolbox: const a = 2172141653n; const b = 15346349309n; a * b; // → 333344445555

  • SIMD型について - JS.next

    概要 新しいプリミティブ型であるSIMD型及びAPIがV8で実装されてきている。 SIMDとは、複数の数値を並べて1つの値としたようなデータ型である。 これはCPUによって効率良くサポートされているデータ型であり、 1 + 2 -> 3 をするように [ 1, 2, 3, 4 ] + [ 2, 3, 4, 5 ] -> [ 3, 5, 7, 9 ] を1回の演算ですることができる。 つまり、沢山の数値を扱う場面でSIMD型を利用することで、何倍ものパフォーマンス向上が期待できる。 (※WASMに入ることとなり、ESからは一旦取り除かれました。) 実装される型 float32x4 32bit浮動小数点型を4つ並べた128bitのデータ型 float32はJSの通常のnumberであるところのfloat64より精度が低い int32x4 32bit符号付き整数型を4つ並べた128bitのデータ

    SIMD型について - JS.next
  • Class構文について - JS.next

    概要 待ち焦がれた人も多いことだろう。ES2015の一番の目玉機能とも言えるクラス構文が、ついにV8でサポートされた。 Class構文は、『関数(コンストラクタ)定義』+『.prototypeへのメソッド定義』の糖衣構文である。 JSで今まで様々に工夫されてきたクラスの書き方を、綺麗に統一してくれる可能性を秘めている。 クラスを作る 従来、Catクラスを作ろうとした場合このように書いてきた。 function Cat(name) { this.name = name } Cat.prototype.meow = function () { alert( this.name + 'はミャオと鳴きました' ) } しかしこの書き方だとどうしても、コンストラクタとメソッドの定義が分離されているため、クラスとしてまとまりがなく分かりづらく感じる。 メソッドが増えてきた時も、Cat.prototyp

    Class構文について - JS.next
  • 2つのStringメソッドが実装された - JS.next

    概要 サロゲートペアを考慮して、String.fromCharCodeとString.prototype.charCodeAtと同じ働きをする String.fromCodePointとString.prototype.codePointAtメソッドが実装された。 例 var str = '𠮟る' str.length // 3 str[0] // (文字にならない) str[1] // (文字にならない) str[2] // "る" str.charCodeAt(0) // 55362 str.charCodeAt(1) // 57247 str.codePointAt(0) // 134047 // (55362 << 10) + 57247 - 0x35fdc00 str.codePointAt(1) // 57247 String.fromCharCode(55362, 5724

    2つのStringメソッドが実装された - JS.next
  • node.js/v8のgeneratorsのパフォーマンスについてちょっと調べた

    node.js/v8のgeneratorsのパフォーマンスについてちょっと調べた 初めに断っておきますが、今回の調査は、node v0.11.5 (Linux)で試したもので、他の環境では異なるかもしれません。さらに、今後のバージョンアップによっては全く異なる結果となることも十分ありえます。ご注意を。 ES6にgeneratorsが入るとのことで、JavaScriptでcontinuationが使えないかなぁと思っていた自分としては、興味を持ちました。 ちなみに、generator, coroutine, continuationの順に記述力が上がるそうです。こちらが参考になるかもしれません。 さて、generatorsの説明は他に任せるとして、いきなりコードです。 function* es6_generator() { yield 1; yield 2; yield 3; yield 4

  • やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール

    ※ネタです ※UDFです Mysql 5.1 Plugin Development 作者: Andrew Hutchings,Sergei Golubchik出版社/メーカー: Packt Publishing発売日: 2010/08/30メディア: ペーパーバック購入: 1人 クリック: 45回この商品を含むブログ (2件) を見る しばらく積ん読していたこのをちょっと眺めてみたら、MySQLのUDFって簡単に作れるんだなー、と思った && そういやV8ってライブラリとして簡単にリンクできるはずだな、と思い出した ので、ついカッとなって作った。 http://github.com/zentooo/mysqludf-jseval UDFうんぬn ほとんど↑のの受け売りになるけど、一応MySQLのUDFについて備忘録代わりに軽く紹介しておくと UDFを追加する場合、MySQLの再コンパイ

    やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール
  • v8とnodeのカップリングとv8monkey/spidernode - 以下斜め読んだ内容

    時系列で並べたメモ nodeをv8以外でも走らせる可能性等々 node界隈の活発なやりとりは面白い node on spidermonkeyは当初検討されてた nodeクリエータRyan Dahlによると ただし2日だけ 却下理由は、他のシステムへの依存関係がストレス。v8の方がモダン v8はパッケージ化されてるし、他にも利点多かったのでずっとv8一筋 リソース The Node Ahead 4ページ目あたり。前に斜め読みした Cade Metz「好調Node」 - クライアント・サイド・スクリプティング with Web Standards 以降ずっとnodeプロジェクトはv8を唯一のVMとして開発 v8チームとnodeチームは相互に連携 バグ直してもらったり crankshaftリリースされれば取り込んだり リソース 割愛。「The Node Ahead」の中にもエピソードは紹介されて

    v8とnodeのカップリングとv8monkey/spidernode - 以下斜め読んだ内容
  • Big Sky :: 今更ながらGoogle v8でembedする方法を紹介してみる。

    最近どのブログでも node.js ばかりでもう飽き飽きしてる皆さんこんばんわ。 node.js 面白いですよね!ェ node.js ってアプリケーションを作る側(つまりライブラリを使う側)からすると、Web周りの便利なライブラリが既に色々あって、そのライブラリが一体どうやって動いてるのか気にすることってあんまり無いかと思います。 pure javascriptな物ならばコードを読むのは簡単です。ただしやれる事に限りがあります。node.js はGoogle製のJavaScript Engineであるv8をベースに作られているのですが、このv8はアプリケーションに組み込むのに適した構成になっていて、関数テンプレートやインスタンス、プロトタイプという各機能がC++のクラステンプレートで上手く表現出来ているライブラリです。Spidermonkeyも確かに扱うのは簡単なのですが、僕からすると若干

    Big Sky :: 今更ながらGoogle v8でembedする方法を紹介してみる。
  • node.js C/C++ addons 入門 - unknownplace.org

    node.js のドキュメントを見ていたら C/C++ で簡単に拡張が書けそうだったので試してみた。 addons - Node.js Manual & Documentation ドキュメントに載っている hello.cc をみてみると: #include <v8.h> using namespace v8; extern "C" void init (Handle<Object> target) { HandleScope scope; target->Set(String::New("hello"), String::New("world")); } この extern "C" void init (Handle<Object> target) というやつが、jsで require("hello") したときに呼ばれる感じらしい。この関数だけは必ず実装する必要がある。 この中の Ha

  • 厨房でもできる windows VS2010 で V8 engine をビルド。 - お前の血は何色だ!! 4

    google chrome にも搭載されている V8 engine を VS2010 (VC++ 2010 / visual studio 2010) でビルドしようというお話です。 環境構築 その1 svn を導入。 svn 入れます。 windowsユーザなら、tortoisesvn(とーたす えすぶいえぬ)がオススメです。遅いけど。 ここから落とせます。 http://tortoisesvn.net/downloads.html インストール後に PC の再起動がかかるので、注意してください。 環境構築 その2 python を導入。 python入れます。 python ってver2系とver3系で違うらしいので、とりあえず2系を入れます。 #もしかしたら 3系でもうごくかもしれんが。 http://www.python.jp/Zope/download/pythoncore ht

    厨房でもできる windows VS2010 で V8 engine をビルド。 - お前の血は何色だ!! 4
  • node.js のソースぐらい読んでおきたい! - by edvakf in hatena

    JavaScript Advent Calendar 2010 という企画をやっています。既にもう7日目なのですが、まだまだ os0x さんや hasegawayosuke さんや nanto_vi さんや secondlife さんといったすごい方々が記事を書いてくれる予定になっていますので、是非チェックしてみてください。 今日は、最近話題の node.js を読んでみます。僕自身は node.js を追っかけてたのは今年の5月ぐらいで、ソースは半年以上見てなかったのですが、この機会にまた読みました。この記事は、C++ は一応読めるけど V8 とか libev はあまり知らない node.js 好きの人を念頭に置いています。 拙訳の Embedder's Guide - V8 JavaScript Engine に書いてあるようなことは説明なしでいきたいと思います。また、適宜 libev

    node.js のソースぐらい読んでおきたい! - by edvakf in hatena
  • V8ドキュメント日本語訳 - ゆとり

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • 1