こういう記事を読んだ。 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
お知らせ この記事へのフィードバックを受けて、以下に更新版「プログラミング言語の実行速度比較(2023/5)」を公開しています。コメントをお寄せくださった皆様ありがとうございます。 プログラミング言語の実行速度比較(2023/5) はじめに 2019年に「言語間の速度比較」という記事を投稿した。 それから4年近く経過したので、それぞれの言語の最新版で再度検証する。また、サポートが終了したPython2の代わりに近年人気が高いRustを追加する。さらにC言語で算出した素数の格納をrealloc()で確保した領域にする評価も追加した。評価には、シングルスレッドで順次既知の素数で割ることで1億までの素数を求めるプログラムを使用(ソースはここ) 言語 時間 (sec) 最大使用物理メモリ(MiB) 算出素数格納コンテナ 補足情報 感想 C 12.6 25.1 固定長配列 gcc 12.2.0 最適
2023-04-17 / scalamatsuri 今週末、virtual/Tokyo ハイブリッドの ScalaMatsuri が開催された。まずは、登壇者の皆さん、スポンサー各社、参加者の皆さんにお礼します。 初のハイブリッドということで、至らない点も多々あったけども、成功したカンファレンスだったのではと思う。僕は、16名の ScalaMatsuri スタッフの一員、それからメインのセッションと飛びコンでの登壇者として参加させてもらった。 ScalaMatsuri の 10年 過去のエディションのハイライトをいくつか振り返ってみる: ScalaMatsuri の前身となる Scala Conference in Japan 2013 が 2013年3月2日に開催され、僕はスタッフとして訪日した。カンファレンスを翻訳するによると、僕は RubyKaigi の真似をして IRC から we
はじめに この記事は ScalaMatsuri 2023 で発表されるセッション「traverseを制する者はコードを制す」の補完記事です。セッション時間の都合上カットした traverse の実装面を焦点に解説します。 traverse がどういったシーンで役に立つのか等は本セッションをご参照ください。 使用する言語・ライブラリのバージョンは以下の通りです。 Scala 3.2.2 cats 2.7.0 構造を保ったまま要素に関数を適用する さて traverse とはどんな関数なのかと言うと、構造を保ったまま要素に関数を適用する関数です。 そう聞くと最近のメジャーな言語にはおおよそ存在している map の事を思い浮かべる方も居る事でしょう。 その通り map も構造を保ったまま要素に関数を適用する関数と言えます。 val list = List(1, 2, 3, 4, 5) list.
class: center, middle # The programmer that controls the `traverse`, controls the code. Scala Matsuri 2023 2023/04/15<br> @gakuzzzz --- class: left, top ## Who am I * Manabu NAKAMURA * Twitter: [@gakuzzzz](https://twitter.com/gakuzzzz) * Tech to Value Co.,Ltd. CEO * Alp, Inc. Tech Lead --- class: left, top ## Note The Scala code in this slide uses version 3.2.2. It uses [cats](https://typelevel.or
サーバーサイド開発部で Scala アプリケーションの開発運用をおこなっている hayasshi (@hayasshi_) です。 昨年 2022 年 10 月 6 日に、Chatwork ではフリープランの制限の変更をおこないました。*1*2 「参加できるグループチャットの累計数」から、「閲覧できるメッセージの期間と数」へと制限が変更になったのですが、 この 閲覧できるメッセージの数 の計算を、Scala のバッチアプリケーションでおこなっています。 今回はそのアプリケーションについて、設計や構成をご紹介したいと思います。 Chatwork フリープランにおけるメッセージ閲覧制限について 2023 年 4 月 14 日現在、Chatwork フリープランのアカウントが閲覧できるメッセージは、 投稿されてから 40 日以内でかつ、組織全体で 5000 件まで となっています。 「投稿されて
Scalaの非同期・ストリーミング処理ライブラリであるfs2で、ジョブキュー的な感じで、複数のワーカにデータを分散して配りたいことがあり、それの実現方法について調査したメモ。 fs2.io 追記(2023-09-23) fs2 3.9.2で確認したが、stream.parEvalMap(N)(IO)の形でparEvalMapを呼ぶことで並列実行が可能だ。 tl;dr 1つのQueueにデータを入れて、複数のワーカから好きに取出せばよい。 Streamを複数のPipeに分散させるには? FS2の以前のバージョンにはBalanceという要素が用意されていたのだが、機能の統廃合によって消えてしまった。Discordで様子を見るとQueueとWorkerで作れるとのことなので、作ったところ、作れた。 この構成では、パイプラインは3つの要素に分解される。 これから分散して処理しようとするデータを送出
I’m a software engineer and the founder of Rock the JVM. I teach Scala, Kotlin, Java, big data and a variety of tech both live and in online courses. Another long-form by Riccardo Cardin - having started with the Scala with Cats course a while back, he’s now steadily mastering all the critical pieces of the Typelevel ecosystem. Nowadays, modern applications are often built on top of streaming data
Hands-on Scala teaches you how to use the Scala programming language in a practical, project-based fashion. This book is designed to quickly teach an existing programmer everything needed to go from "hello world" to building production applications like interactive websites, parallel web crawlers, and distributed systems in Scala. In the process you will learn how to use the Scala language to solv
Implicitな値の由来が分からん 3行要約 詳細 implicit args implicit conversions and classes inferred type まとめ Implicitな値の由来が分からん Scalaのコードを読んでいるときに、どこから来ているか分からないimplicitな引数があって困っていた。 このことをツイートしたらアドバイスをもらえて、解決できたので備忘録的にブログに上げる。 scala の implicit 追いかけるの、metalsとかでもう少し楽にならない?ってなるけどコンテキストで変わるし難しいのかなぁ— あずきバー (@azukibar_D) 2023年3月31日 プラグインによっては「今見えてるはずのimplicit出す」みたいなのができるっス— @windymelt@mstdn.takuya-a.net に引っ越しました (@windy
はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く