並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 72件

新着順 人気順

graalの検索結果1 - 40 件 / 72件

  • Javaのインストール2023年版 - きしだのHatena

    ちょっとJavaのインストールについて調べてみました2023年版。 Javaにはディストリビューションがたくさんあるので、目につくインストーラーをWindowsで全部ためしてみました。 初心者が勉強するためにJavaをインストールするというときにどれを使うのが手軽か確認するというのが主な目的です。 Oracle JDK Temurin by Adoptium Amazon Corretto Azul Zulu Liberica JDK Microsoft Build of OpenJDK SapMachine OpenJDK SDKMAN! winget OpenJ9 / Semeru Runtime Red Hat Build of OpenJDK GraalVM Scoop いろいろあるので、結論を先に書いておくと次のようになります。 いまPATHの設定が必要なJDKインストーラはない

      Javaのインストール2023年版 - きしだのHatena
    • WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由

      Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。佐伯氏は、WebAssemblyのWebの外の応用について発表しました。全2回。前半は、Wasmがアツい理由とデザインゴールについて。 今回のテーマは「Kernel/VM的WebAssembly入門」 佐伯学哉氏(以下、佐伯):佐伯が『WebAssemblyのWeb以外のこと全部話す』というタイトルで発表します。 まず、WebAssemblyとは何ぞや? という一般的な話なのですが、「Wikipedia」からの引用によれば、「Webブラウザーのクライアントサイドスクリプトとして動作する低水準言語である。ブラウザー上でバイナリフォーマットのかたちで実行可能であることを特徴とする」とあります。 実際の応用例としては、WebでGoogle Meetの背景ぼかしに使われていた

        WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由
      • GraalVMはどれだけ遅いか - きしだのHatena

        GraalVM流行ってますね。 そして、多くの人はGraalをAOTとして使うnative-imageのことだけをGraalVMと言ってたりします。 ご安心を。このエントリではGraalをJITとして使うHotSpotモードとGraalをAOTとして使うnative-imageの両方が遅いという話です。 GraalVMは速い、と言われてますが、残念ながらHotSpotモードでC2より速い結果を手元では出せていません。 公式ブログでは1.7倍から5倍速くなると書いてますけど、手元では再現できてません。 Under the hood of GraalVM JIT optimizations - graalvm - Medium native-imageは速い、というのはよくありますが、これはネイティブ化によりJVMの起動時間や最適化の時間、最適化されずに動く時間が省略されるので起動が速い、とい

          GraalVMはどれだけ遅いか - きしだのHatena
        • サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動

          オラクルはJavaをサーバレス環境で実行するのに最適化した技術「GraalOS」を発表しました。 同時に、Oracle Cloudのサーバレス実行基盤である「Oracle Cloud Functions」でGraalOSの機能を提供することも発表されました。 Javaをコンパイルし、ネイティブバイナリを実行 GraalOSは名称にOSと付いているものの、LinuxやWindowsのようなOSではなく、Javaをデプロイする新たな技術とその基盤を指します。 具体的には、同社が提供しているJava実行環境である「GraalVM」のコンパイラを用いてJavaをコンパイルしてネイティブバイナリを生成し、それをサーバレス基盤にデプロイし実行することで、サーバレスアプリケーションの瞬時の起動と高速な実行などを実現するというものです。 参考:Javaのネイティブバイナリ生成可能なGraalVMの全機能が

            サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動
          • セルフホストで学ぶJVM入門 - k0kubun's blog

            RubyのJIT開発でやろうと思ってることが大体 @_ko1 さんの作業待ちでブロックしていて暇なので何かを書こうと思い、JVMを書くことにした。 まだその辺のアプリを気軽に動かせるレベルでは全然ないが、別に秘密裏に開発する必要もないと思ったので公開した。 github.com これの紹介と、現時点で学べたことをこの記事に記録しておく。 何故JVMなのか 仕事でJVM言語を使っている 僕が所属しているTreasure Dataでは、大雑把に言うと本番サーバーのサービスは大体Ruby, Java, Scala, Kotlinで書かれている*1ので、既にRubyのVMはある程度わかる*2ことを考えると、JVMさえ理解してしまえば社内の主要な言語評価系を抑えたことになり、運用面で活躍の機会が増える気がしている。 また、自分が最近一番書いているのはKotlinなのだが、JVMで動かしていることに由

              セルフホストで学ぶJVM入門 - k0kubun's blog
            • Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum

              Graydon Hoareが2019年にカナダのブリティッシュ・コロンビア大学でコンパイラ関連のゲスト講義した時の資料21 compilers and 3 orders of magnitude in 60 minutes - a wander through a weird landscape to the heart of compilationを読んだら大変面白かったのでメモ。 作者 Graydon HoareはMozillaでRustを開発したことで有名。その後Rustの開発もMozillaも離れて(というかRustの開発からは2013年に離れたようだ)、一時期AppleでSwift開発チームに所属していたらしい。(ソース:Reddit: I wonder, why Graydon Hoare, the author of Rust, stopped contributing in

                Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum
              • Java最新フレームワーク、Helidon、Micronaut、Quarkusをnative-imageまでまとめて試す - きしだのHatena

                最近でてきたフレームワーク、Helidon、Micronaut、Quarkusのクイックスタート、Native-Imageをまとめて試しましょう。 準備 SDKMANインストール 今回はSDKMANで環境を作っていきます。 https://sdkman.io/ コマンドラインで次のコマンドを実行します。Windowsの場合はCygwinかWSLで。 $ curl -s "https://get.sdkman.io" | bash ターミナルを開きなおすか次のコマンドを実行するとSDKMANが有効になります。 $ source "$HOME/.sdkman/bin/sdkman-init.sh" JDKインストール 今回はnative-imageまで使うのでGraalVMを使っておきましょう。 $ sdk use java 19.1.0-grl native-imageの準備も行います。Cy

                  Java最新フレームワーク、Helidon、Micronaut、Quarkusをnative-imageまでまとめて試す - きしだのHatena
                • 2020年における各Python処理系の状況 - Qiita

                  2020年1月1日をもってPython2系列のサポートが終了しました(一部の長期サポート環境を除く)。Pythonは完全にPython3時代に移行し、安定期を迎えているように思います。しかしながら、Pythonは何もCPythonだけではありません。JythonやIronPythonといった他の処理系の現状はいったいどうなっているのでしょうか。気になったので少しだけ調べてみました。 CPython 公式サイト リポジトリ 言わずと知れた、オリジナルにして最も有名なPython処理系です。C言語で実装されています。 2020年1月1日にPython2系列のサポート終了(EOL)を行いました。 2020年7月21日には最新バージョンの3.8.5が公開されました。その他3.7系列では3.7.8が、3.6系列では3.6.11がそれぞれ6月28日にリリースされています。 そして、次期バージョンの3.

                    2020年における各Python処理系の状況 - Qiita
                  • Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと

                    Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと オラクルは、最新データベース「Oracle Database 21c」を含む「Oracle Autonomous Database」を、Oracle Cloud上で無料で利用できる「Always Free」で提供開始したと発表しました。 「Oracle Database 21cは、世界で最も強力なコンバージド・データベース・エンジンの提供というオラクルの戦略を継続します。」発表資料はこちら https://t.co/DH13zechSx #database #データベース #OracleLive pic.twitter.com/o5huPbw6Hp — Oracle Japan/日本オラクル (@Oracle_Japan) January 14, 20

                      Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと
                    • Scalaのメモリ使用量はJavaよりも多いか検証した - Lambdaカクテル

                      こういう記事を読んだ。 transparent-to-radiation.blogspot.com なんかScalaのメモリ使用量が異常に多いなと思って、調べた。検証コードもアップした。 github.com 検証として、様々なJVM(OpenJDKとかCorettoとか)とそのバージョン(8, 11, 17)でJARを実行して考察した。JVMを用意するためにASDFを使った。また、ASDFから引っぱってこれないJVMのバージョン(OpenJDKの8など)は省略している。 JAVA_OPTSは-Xms100M -Xmx2Gである。 手元のマシン(Linux x86_64 Xeon W-10855M 2.80GHz 64GiB RAM)でのrun-matrix.shの実行結果は、以下の通り(各列は、JVM、計算件数、実行時間Sec、メモリ総使用量KiB)。 openjdk-11 openjd

                        Scalaのメモリ使用量はJavaよりも多いか検証した - Lambdaカクテル
                      • MIR: A lightweight JIT compiler project | Red Hat Developer

                        For the past three years, I've been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs. The most popular approach to implementing a JIT is to use LLVM or GCC JIT interfaces, like ORC or LibGCCJIT. GCC and LLVM developers spend huge effort to implement the optim

                          MIR: A lightweight JIT compiler project | Red Hat Developer
                        • PythonユーザーのためのGraalVM | フューチャー技術ブログ

                          ちょうど一年ぐらい前にGraalVMが商用利用可能な安定版に達し、Enterprise版もリリースされたというニュースがあります。 publickey: GraalVM、ついに本番利用可能なバージョン「GraalVM 19.0」登場、JavaやJavaScriptなど多言語対応ランタイム。商用版のGraalVM Enterprise Editionもリリース GraalVMにはPython機能もあると宣伝されているものの、詳しい説明が行われることがなく、それが何者で、どのようなステータスで、どこを目指しているのか、きちんと答えられる人は(日本どころか世界でも)ほぼいないでしょう。GraalVMそのものの説明はちょくちょく出てくるようになってきたと思いますが、そのPythonの機能についてはあまり説明されていないため、Python部分にフォーカスして紹介します。 Graal.Pythonのイ

                            PythonユーザーのためのGraalVM | フューチャー技術ブログ
                          • Micronautフレームワークを使ってみよう | DevelopersIO

                            What is Micronaut? Micronaut(まいくろのーと)とは、JVMベースのフルスタックフレームワークです。 2018年5月にOSSとして公開され、先日最新バージョンの1.1がリリースされました。 Java/Groovy/Kotlinで実装することができ、テストしやすくコンテナ化も容易、 クラウドネイティブなアプリも簡単に構築できるようです。 Features of Micronaut Micronautの主な特徴について、ここで説明している内容から抜粋して紹介します。 Fast start up & low memory consumption リフレクションベースのIoCフレームワークだと、 すべてのフィールドやメソッドのリフレクションデータをロードしてキャッシュしますが、 Micronautではアプリケーションのコードベースのサイズに左右されないので、 起動が速く、

                              Micronautフレームワークを使ってみよう | DevelopersIO
                            • 第2回 Oracleの汎用仮想マシン「GraalVM」の現状と課題[c1jp] | gihyo.jp

                              2019年9月16~19日にかけての4日間、米サンフランシスコのMoscone CenterにおいてOracle主催の技術カンファレンス「Oracle Code One 2019」が開催されました。Oracle Code Oneは2年前までは「JavaOne」の名称で開催されていたもので、Javaを中心とした開発者向けのセッションやブース展示、交流会などが行われる年次イベントです。 今年のCode Oneで話題の中心となっていたのは、2018年にOracleがリリースした「GraalVM」です。GraalVMは、Java仮想マシン(以下、JVM)およびJIT(Just-in-Time)/AOT(Ahead-of-Time)コンパイラの技術を利用して作成された多言語対応の汎用仮想マシンです。昨年のCode Oneレポートでも『【Oracle Code Oneレポート】Oracleが開発中の仮

                                第2回 Oracleの汎用仮想マシン「GraalVM」の現状と課題[c1jp] | gihyo.jp
                              • アーサー王の宮廷キャメロット――語源、伝承、想定の候補地まとめ | Call of History ー歴史の呼び声ー

                                このようなローマ時代への憧憬からクレティアン・ド・トロワがカムルス神あるいはカムロドゥヌムをもじってキャメロットと名付けたといわれる。ただし、コルチェスターとカムロドゥヌムとが結びつけて理解されるようになるのは十八世紀のことで(注1)、キャメロットの名が登場する十二~十三世紀にカムルス神/カムロドゥヌムがどれだけ知名度があったかは大いに疑問があり、カムルス/カムロドゥヌム語源説はあくまで説の一つに留まる。 また、キャメロットの名の初出である「ランスロまたは荷車の騎士」の著者クレティアン・ド・トロワがアーサー王最後の戦いである「カムランの戦い」の地名を改作して名付けたとする説の他、ウェールズ語の「カンボランダ(cambolanda:円形の囲い地の意)」や「カンボグランナ(camboglanna:湾曲した岸、または囲い地)」などに関連付ける説や、「カムランの戦い」の舞台となったとみられるコーン

                                  アーサー王の宮廷キャメロット――語源、伝承、想定の候補地まとめ | Call of History ー歴史の呼び声ー
                                • JVM Language Summit 2019(JVMLS) day 2 - きしだのHatena

                                  JVMLSに来ています。2日目。 JVM Language Summit — July 29–31, 2019 初日はこちら JVM Language Summit 2019(JVMLS) day 1 - きしだのHatena 今日はほぼ1日を通してコンパイラの話でした。 ちなみに、普通はJavaの文脈でコンパイラというとJavaソースコードをJavaバイトコードに変換するツールを指すと思いますが、このイベントではJavaバイトコードをネイティブコードに変換する仕組みを指します。 軽いまとめにしようと思ったけど、今日のWorkshopは結構おもしろかったのだけど資料も動画もなく、記憶だけが頼りなので、いまのうちにちゃんと書いておきます。 JIT and AOT in the JVM JITとAOTの話。 このセッションはすごく面白かったので、ひとつ動画を見るならこれをおすすめします。 朝ご

                                    JVM Language Summit 2019(JVMLS) day 2 - きしだのHatena
                                  • AST vs. Bytecode: Interpreters in the Age of Meta-Compilation

                                    233 AST vs. Bytecode: Interpreters in the Age of Meta-Compilation OCTAVE LAROSE, University of Kent, UK SOPHIE KALEBA, University of Kent, UK HUMPHREY BURCHELL, University of Kent, UK STEFAN MARR, University of Kent, UK Thanks to partial evaluation and meta-tracing, it became practical to build language implementations that reach state-of-the-art peak performance by implementing only an interprete

                                    • Acheter Du Vrai Valvirex Valacyclovir Pas Cher. Valacyclovir France Acheter - Best Answer Recommender CQA System

                                      Acheter Du Vrai Valvirex Valacyclovir Pas Cher. Valacyclovir France Acheter Peut Ton Acheter Du Valvirex Sans Ordonnance Valvirex Valacyclovir En Vente, Achat Valvirex En Ligne Quebec ACHETER VALVIREX EN LIGNE! - CLIQUEZ ICI! Acheter Du Vrai Valvirex Valacyclovir Pas Cher. Valacyclovir France Acheter Une exception à cette règle est le trempage dans les sels de la mer morte. valvirex Valvirex valac

                                      • Prism in 2024

                                        In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as a Ruby gem). The Prism project represents many person-years worth of effort, and is the result of a collaboration between Shopify, CRuby core contributors, other Ruby implementation authors, and Ruby t

                                          Prism in 2024
                                        • JIT development progress at Ruby 2.7

                                          TL;DRWe focused to improve Rails application performance in Ruby 2.7 JIT, but the last year's assumption was wrong and Ruby 2.7 JIT didn't meet the goal. We'll change the approach for it in Ruby 3.0. Ruby 2.7 is released!Merry Christmas! The new Ruby is out. As I've sometimes promised to make performance improvements in Ruby 2.7 JIT, let me explain how it went. See also The method JIT compiler for

                                          • Spring Framework 6.0正式リリース、5年ぶりのメジャーバージョンアップ。Java 17以降に対応、ネイティブバイナリ化支援機能など

                                            Javaの代表的なフレームワークの1つである「Spring Framework 6.0」が11月18日付けで正式リリースが発表されました。 2017年にリリースされたSpring Framework 5.0以来、5年ぶりのメジャーバージョンアップとなります。 Spring Framework 6.0ではベースラインがJava 17以降となり、Java 19でプレビューとなった仮想スレッド機能もプレビューとして取り入れられています。 Jakarta EE 9で行われたjakarta.*のパッケージ名称変更に対応し、Servlet 6.0やJPA 3.1などJakarta EE 10のAPIにフォーカスしたことで、Tomcat 10.1などの最新のWebコンテナやHibernate ORM 6.1などの最新の永続化プロバイダにアクセスできるようになりました。 ネイティブバイナリ生成の支援機能も

                                              Spring Framework 6.0正式リリース、5年ぶりのメジャーバージョンアップ。Java 17以降に対応、ネイティブバイナリ化支援機能など
                                            • Overhead of Returning Optional Values in Java and Rust | Piotr Kołaczkowski

                                              Some programming languages like Java or Scala offer more than one way to express a concept of “lack of value”. Traditionally, a special null value is used to denote references that don’t reference any value at all. However, over time we have learned that using nulls can be very error-prone and can cause many troubles like NullPointerException errors crashing a program in the most unexpected moment

                                              • GraalVMに入門する - Uzabase for Engineers

                                                はじめに はじめまして、2019年11月に入社しましたヒロオカ(@yuya_hirooka)です!! 先日、同僚との雑談の中でQuarkusのNative Image化が話題に挙がりました。その際に「そういえば、GraalVMとかNative Imageってよく聞くけどあまり知らないなぁ...」と思い色々と調べてみたのでまとめます。 この記事ではGraalVMの中核技術の概要を把握し、簡単にその機能を使ってみることをゴールとします。 前提知識 記事を読む上で以下のようなことを前提知識として進めます。 (つまるところ、私自身のレベル感です) GraalVMという名前は聞いたことがある Javaもしくはその他のJVM言語を使ってプログラムを書いたことがある JVMやコンパイラに関するふんわりとした理解 JITコンパイル、AOTコンパイルと聞いてなんとなくどういったものかイメージがつく JVMの

                                                  GraalVMに入門する - Uzabase for Engineers
                                                • 2人のJavaエキスパートが考える、クラウドネイティブ時代にJava開発者に求められるスキルとは

                                                  ヤフーでは、2017年頃よりプラットフォームのモダナイゼーションを進める中で、Javaを標準言語のひとつとして位置付けました。現在はCI/CDなども導入し、ビジネススピードの変化に対応できる基盤が確立。運用・拡大フェーズに入ったことで、新たな課題やその解決に取り組んでいます。Javaの最新情報に加え、Javaを活用したモダナイゼーションに取り組む際にはどんな課題があり、開発や運用上でどんな工夫が必要なのか。ヤフーでJavaを活用したモダナイゼーションに取り組んだ高見拓也氏と、Java Championの寺田佳央氏に語っていただきました。 2人のJavaエキスパートが注目するJavaの新機能 ──お二人はJavaに関してどのような取り組みをしていますか。 高見拓也氏(以下、高見):ヤフーには2012年に入社し、広告主向けのプラットフォームをJavaで刷新するプロジェクトを担当しました。現在は

                                                    2人のJavaエキスパートが考える、クラウドネイティブ時代にJava開発者に求められるスキルとは
                                                  • Scala Matsuri 2019にエンジニア2人で発表してきました #ScalaMatsuri - Unipos engineer blog

                                                    Fringeのエンジニアの藤野です。 6/27(木)〜6/29(土)で開催されたScala Matsuri 2019に弊社のエンジニア2人が発表してきました! Scala Matsuri Scala Matsuriは、2013年に開催されて以来、今回で第6回目になる日本で最大のScalaのカンファレンスです。 海外からもScalaエンジニアが多く参加し、セッション中に日英の同時通訳も行われます。 ScalaMatsuri 2019|日本最大級の Scala のカンファレンス 場所は東京国際交流館で行われ、 1日目がトレーニングDay、2日目がカンファレンス、3日目がアンカンファレンスでした。 1日目のトレーニングDayは参加できなかったのですが、豪華なOSSのコミッターがチューターとして参加されていました。 scalaconfjp.doorkeeper.jp 弊社は大名スポンサーとして参加

                                                      Scala Matsuri 2019にエンジニア2人で発表してきました #ScalaMatsuri - Unipos engineer blog
                                                    • Compiling typed Python

                                                      It’s been nine whole years since PEP 484 landed and brought us types from on high. This has made a lot of people very angry and been widely regarded as a bad move1. Since then, people on the internet have been clamoring to find out: does this mean we can now compile Python to native code for more speed? It’s a totally reasonable question. It was one of my first questions when I first started worki

                                                      • Spring Boot and Cloud Native Buildpacks Hands-on Lab

                                                        以下のソフトウェアをインストールしてください。 Java 11 docker pack curl jq この資料は次のバージョンで動作確認しています。 $ java -version openjdk version "11.0.10" 2021-01-19 LTS OpenJDK Runtime Environment (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM (build 11.0.10+9-LTS, mixed mode) $ docker version Client: Docker Engine - Community Cloud integration: 1.0.9 Version: 20.10.5 API version: 1.41 Go version: go1.13.15 Git commit: 55c4c88 Built

                                                        • TornadoVM: GPUとFPGAでJavaを高速化する

                                                          このようなコンピューティングにおける新しい異種デバイスの中には、マルチコアCPU、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)などがあります。多様性はすばらしいことですが、これら新しいデバイスを効率的にプログラムする方法が必要です。 その最たるものとして挙げられるのが、ヘテロジニアス(異種)プログラミング言語の代表格である、CUDAとOpenCLの2つです。しかしこれらの言語では、APIに低レベルな機能が現れているため、専門家でないユーザが使うには非常に難しいものになっています。その例として、OpenCL 3.0標準の中から次の一節を引用してご紹介しましょう。 OpenCLが対象とするのは、ポータブルかつ効率的なコードの記述を望む専門的プログラマです。[...] 従ってOpenCLでは、低レベルのハードウ

                                                            TornadoVM: GPUとFPGAでJavaを高速化する
                                                          • [速報]オラクル、OpenJDKコミュニティにGraalVM CEのJava関連コードを寄贈すると発表。JavaOne 2022

                                                            [速報]オラクル、OpenJDKコミュニティにGraalVM CEのJava関連コードを寄贈すると発表。JavaOne 2022 オラクルは米ラスベガスで開催中のイベント「JavaOne 2022」において、GraalVM CEのJava関連コードをOpenJDKコミュニティに寄贈すると発表しました。 Excited about @GraalVM JIT and Native Image becoming part of OpenJDK!#JavaOne pic.twitter.com/al1nHTl2RW — GraalVM (@graalvm) October 18, 2022 GraalコンパイラやGraalネイティブイメージの関連技術の設計や開発作業は、今後Javaと同じプロセスと方法でOpenJDKコミュニティにおいて継続されるとのことです。 GraalVMは10年前、Oracl

                                                              [速報]オラクル、OpenJDKコミュニティにGraalVM CEのJava関連コードを寄贈すると発表。JavaOne 2022
                                                            • Quel Site Acheter Du Snafi 10Mg. Acheter Snafi Paypal - Ask Lesko and Friends

                                                              Quel Site Acheter Du Snafi 10Mg. Acheter Snafi Paypal Acheter Du Vrai Snafi Achat Snafi En Toute Securite. Achat De Snafi En Allemagne ACHAT Snafi (Tadalafil) EN LIGNE! - CLIQUEZ ICI! Les fabricants prétendent qu'ils peuvent à la fois agrandir votre pénis et retarder votre éjaculation! achat snafi par cheque Essayez d'obtenir un médicament en vente libre. Maintenant, pour la bonne quantité de lubr

                                                              • YAML, Python and the Holy Graal

                                                                Which has a greater airspeed velocity... an unladen swallow or Santa's sleigh? Well, that depends... are we talking about an African or European swallow? Huh? Welcome to Day 21 of the YAMLScript Advent Blog!So far we've been using the YAMLScript CLI ys to run (or load) our YAMLScript programs. YAML users are used to using a YAML framework module inside their programs. For example, in Python you mi

                                                                • Apache Calcite + Truffle でクエリエンジンを作ってる話

                                                                  自作DBMS Advent Calender 2020 の 20 日目の記事です。 現在、truffle-arrow というクエリエンジンを作っているので、その話を書きます。 『How Query Engines Work』 仕事で Cloudera Impala に触れ、クエリエンジンに興味が湧き、自分で作ってみたいと思うようになって作り始めました。最初はクエリエンジンの作り方が分からなかったので、とりあえず参考書等を探して入り口を探しました。しかしそれらを読んでも実装できる気がしなかったので、まずは Apache Drill のコードを読んでいました。 今年、Apache Arrow の PMC の Andy Groove が『How Query Engines Work』という書籍をリリースしているので、興味のある方は読んでみてください。彼自身も Rust と Apache Arro

                                                                    Apache Calcite + Truffle でクエリエンジンを作ってる話
                                                                  • GraalVM + Javaで作ったバイナリをAWS Lambdaで動かす時にハマった所 - 谷本 心 in せろ部屋

                                                                    仕事でAWS Lambdaを使う機会が増えてきたのですが、やはり書き慣れたJavaでLambdaを書きたいなと思うことが少なくありません。ただAWS LambdaでJavaアプリを動かすと、初回アクセスに十秒近く掛かるし、メモリ消費量も大きいしで、パフォーマンス的にも運用コスト的にも嬉しくありません。そう思ってるところで、JavaのアプリをGraalVMでネイティブビルドをすれば初回起動時間もメモリ消費量も抑えられると聞いたので、これに取り組んでみました。 ただ実際にやってみると、わりとエラーが頻発してしまって、トライ&エラーを繰り返しながら先に進むという感じになりました。せっかく色々と試したので、起きた問題とその解決策・回避策なんかをここにメモしておきます。 やったこととか参考にしたサイトとか やったこと まずJava8(1.8.0_202)と、Micronaut(1.1.3)のライブラ

                                                                      GraalVM + Javaで作ったバイナリをAWS Lambdaで動かす時にハマった所 - 谷本 心 in せろ部屋
                                                                    • 週刊Railsウォッチ: Ruby 3.1にYJITマージのプロポーザル、Rubyのmagic historyメソッド、JSのPartytownほか(20211012後編)|TechRacho by BPS株式会社

                                                                      週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 YJITマージのプロポーザル(Ruby Weeklyより) Feature #18229: Proposal to merge YJIT

                                                                        週刊Railsウォッチ: Ruby 3.1にYJITマージのプロポーザル、Rubyのmagic historyメソッド、JSのPartytownほか(20211012後編)|TechRacho by BPS株式会社
                                                                      • Guide to GraalVM (JJUG CCC 2019 Fall)

                                                                        2019/11/23 JJUG CCC 2019 Fall 「多言語対応の仮想マシンGraalVMが照らす未来」のセッションスライドです。 --- オラクル社からGraalVMというOSSプロダクトが発表され、話題を呼んでいます。GraalVMは、Javaで書かれたJITコンパイラ、Graalを搭載しています。さらに、言語実装用のフレームワークTruffleを提供しており、そのフレームワークを使って実装したJavaScriptやRuby、Pythonなど他の言語を、GraalVMは高いパフォーマンス実行できます。GraalVMを多言語対応の仮想マシンと呼ぶ理由です。加えて、それらすべての言語間で、相互に呼び出しができます。また、ネイティブイメージを作成し、JVMを利用せずにアプリケーションを実行できます。MicronautやQuarkus、Helidonといった最新のフレームワークが、この

                                                                          Guide to GraalVM (JJUG CCC 2019 Fall)
                                                                        • MicronautでGraalVM native imageを動かす | DevelopersIO

                                                                          Introduction 前回はMicronautフレームワークについて紹介しました。 MicronautはGraalVMで動作するアプリも簡単にできるので、 今回はそれを試してみます。 Using GraalVM with Micronaut About GraalVM GraalVMとは、最近注目されている多言語対応の仮想マシンとプラットフォームです。 現在はJavaやJVM言語(ScalaとかClojureとか)の実行機能に加え、 node.js(JavaScript)/Ruby/Python/R言語/LLVMベースの言語をサポートしています。 これにより、複数のプログラミング言語が混在したプログラムを実行することも可能になります。 また、GraalVMではJavaプログラムをネイティブコンパイルすることができます。 こうすることで高速起動&フットプリントが小さいネイティブプログラム

                                                                            MicronautでGraalVM native imageを動かす | DevelopersIO
                                                                          • Project Helidon入門 - Oracleの軽量フレームワークによるマイクロサービス開発

                                                                            Helidon SEの関数スタイルを、WebServerインターフェースを使ってHelidon Webサーバを起動するという、ごく単純な例を使って見ていきましょう。 WebServer.create( Routing.builder() .get("/greet", (req, res) -> res.send("Hello World!")) .build()) .start(); この例を出発点に、ダウンロード用サーバアプリケーションの一部として、本当のstartServer()メソッドを段階的に開発する中で、Helidon SEの3つのコアコンポーネントを探っていきたいと思います。 webサーバコンポーネント NodeJSや他のJavaフレームワークにヒントを得たHelidonのWebサーバコンポーネントは、Netty上で動作する非同期かつリアクティブなAPIです。WebServer

                                                                              Project Helidon入門 - Oracleの軽量フレームワークによるマイクロサービス開発
                                                                            • 週刊Railsウォッチ(20190521-2/2後編)サーバーレスクラウドのベンチマーク比較サイト、VueJSパフォーマンス向上、GraalVM 19.0ほか|TechRacho by BPS株式会社

                                                                              2019.05.21 週刊Railsウォッチ(20190521-2/2後編)サーバーレスクラウドのベンチマーク比較サイト、VueJSパフォーマンス向上、GraalVM 19.0ほか こんにちは、hachi8833です。5月とは思えない風雨がやっと収まりましたね。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓お知らせ: 第11回公開つっつき会(無料) 応募先: 週刊Railsウォッチ公開つっつき会 第11回|IT勉強会ならTECH PLAY[テックプレイ] 第11回目を迎えた公開つっつき会は6月6日(木)19:30〜にBPS会議スペースにて開催されます

                                                                                週刊Railsウォッチ(20190521-2/2後編)サーバーレスクラウドのベンチマーク比較サイト、VueJSパフォーマンス向上、GraalVM 19.0ほか|TechRacho by BPS株式会社
                                                                              • Devoxx Belgium 2019 - Day 3 - きしだのHatena

                                                                                LINEでは年に1回の海外カンファレンス補助があるので、ベルギーのDevoxxに来てます。 DevoxxはヨーロッパのJavaコミュニティで、ロンドンやパリなど各地でカンファレンスを行なっていますが、ベルギーが最大です。 毎年、Javaのびっくり発表がDevoxx Belgiumというイベントであるというのを認識していて気になっていたのですが、今回初めて来てみました。 今日はConference Daysの初日でキーノートから始まりました。 https://devoxx.be/wednesday-schedule/ 今日聞いたのはキーノートの他に次のセッションですが、Spring BootをGraalVM Native Imageで動かすセッションが一番おもしろかったです。 Abstractions Without Regret with GraalVM Developing Java a

                                                                                  Devoxx Belgium 2019 - Day 3 - きしだのHatena
                                                                                • イマドキのJava徹底入門(15) JavaScriptエンジンをNashornからGraalJSに移行する(その2)

                                                                                  JDK 14でNashornが削除される 前回は、Javaに標準ライブラリとして搭載されているJava Scripting APIと、JDKに付属するJavaScriptエンジンである「Nashorn」を使って、JavaとJavaScriptを相互に連携させる方法について紹介した。NanhornはJava 8の頃からJDKに標準で付属していたが、2018年9月にリリースされたJDK 11で非推奨扱い(Deprecated)となった。 Nashornの非推奨化は「JEP 335: Deprecate the Nashorn JavaScript Engine」として提案された。非推奨化の理由としては、Nashornの実装が最新のJavaScript仕様をサポートできていない点がある。NashornがサポートしているJavaScript仕様は2015年にリリースされたECMAScript 6で

                                                                                    イマドキのJava徹底入門(15) JavaScriptエンジンをNashornからGraalJSに移行する(その2)