タグ

LLVMと言語に関するakakitのブックマーク (5)

  • フィンテックでアクターモデルのプログラミング言語Ponyを使う

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    フィンテックでアクターモデルのプログラミング言語Ponyを使う
  • 米Dropbox、LLVMベースのPython実装「Pyston」を開発 | OSDN Magazine

    米Dropboxは4月3日、オープンソースのPython実装「Pyston」を発表した。LLVMのJITエンジンを利用するPython実装で、より高いパフォーマンスを目指すという。 PystonはLLVMおよびLLVMのJITJust In Time)実行エンジンを使用して構築されたPython実装。Python 2.7互換の実装で、現時点ではx86_64プラットフォームでのみ動作し、動作テストはUbuntuで行っているという。 パースされたPythonコードをLLVMの中間表現(IR)に変換し、LLVMのオプティマイザを経てLLVM JITエンジンで実行可能なコードを生成する。LLVMには最適化パスなど最適化のための仕組みが多数含まれており、高速なコードを精製できるとしている。現時点での性能については「CPythonよりも上だがPyPyよりは劣る」と報告されている。 Dropboxでは

    米Dropbox、LLVMベースのPython実装「Pyston」を開発 | OSDN Magazine
  • 新プログラミング言語「Leaf」

    LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. LLVMのメーリングリストに、LLVMをコンパイラインフラストラクチャとして採用した新しいプログラミング言語「Leaf」を開発しているというアナウンスメールが「[LLVMdev]Announcing Leaf v0」として投函された。コンパイル時の最適化などはLLVMの機能をそのまま使うことができるため、新しいプログラミング言語の設計と実装に集中できるといった説明がある。 プログラミング言語Leaf自体の特徴は「Features — Leaf」のページから確認できる。動的に推測決定される型、タプル、安全で明示的な型変換、順序性を持たない宣

  • ウェブためのユニバーサルなバイトコードは必要か

    原文(投稿日:2013/05/22)へのリンク どのブラウザでも動くウェブのバイトコードは価値があるだろうか。LLVMはソリューションとして成り立つだろうか。ネイティブコードをブラウザ上で動かすにはMozillaのasm.jsとGoogleのPNaClのどちらがいいだろうか。この記事ではこれらについての意見を紹介する。 ArsTechnicaのJavascriptで書かれた動画コーデックについての記事に対するRanizのコメントは同記事のコメント欄やウェブ上でさまざまな反響を起こした。Ranizは“ブラウザ向けバイトコードを標準化し、開発者がさまざまな言語を選択できる”ようにして、開発者がJavaScriptを使わざるを得ない状況を脱し、好きなウェブプログラミング言語を選択できるようにすることを提案している。そのバイトコードはJVMやCLRのバイトコードと同じように、ウェブ開発の共通プラッ

    ウェブためのユニバーサルなバイトコードは必要か
  • C/C++/Objective-Cサポートが強化された「LLVM 2.8」がリリース | OSDN Magazine

    The LLVM Projectは10月5日、「LLVM Compiler Infrastructure(LLVM) 2.8」をリリースした。C/C++/Objective-CフロントエンドであるClangがC++標準規格に完全に準拠したほか、さまざまな最適化が加えられている。 LLVM(Low Level Virtual Machine)はさまざまなプログラミング言語をサポートするコンパイラ基盤。各種言語をフロントエンド仮想マシン向け中間コードに変換するフロントエンドと、中間コードを実マシン向けの最適なコードに変換するオプティマイザ/コードジェネレータから構成されている。 前バージョンの2.7から5カ月ぶりのリリースとなるLLVM 2.8では、LLVMのコアとなるツール群が幅広く強化された。C/C++/Objective-C向けのフロントエンドであるClangは、C++の国際標準であるI

    C/C++/Objective-Cサポートが強化された「LLVM 2.8」がリリース | OSDN Magazine
  • 1