Go Conference 2023 Room A : A7-L https://gocon.jp/2023/sessions/A7-L/
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
GoでPython統合、もう消耗したくない あなたのGoサービス、せっかく高速なのにPythonとの連携で台なしになっていませんか。 機械学習モデルの推論、データ分析、画像処理...Python ecosystemの豊富なライブラリを使いたいのはわかります。でも現実は厳しい。 「CGOのセットアップで3日消費、結果はクラッシュ地獄...」 「gRPCで10msレイテンシ...リアルタイム処理には厳しい」 「shell execで100ms待機...ユーザー離脱が止まらない」 Go開発者の多くが直面するこの悩み、解決策があります。 既存ソリューションの現実 1. CGO + Python C API の地獄 // こんなコードを書きたくない... /* #include <Python.h> #include <stdlib.h> PyObject* call_python_function
こんにちは ハタ です。 このたび Go Conference 2023 Online にて Go/Cgoで映像・音声のリアルタイム処理をやるまでの道のり というタイトルで発表しました 久しぶりの大きなカンファレンスでの登壇だったのでとても緊張しましたが、10周年を迎えた機会に登壇できて光栄です gocon.jp 今回発表した資料はこちらになります、当日のアーカイブは近々公開されると思いますのでお待ち下さい speakerdeck.com (2023/06/28追記) アーカイブ公開されたようです! もし当日ご覧になれなかった方はこちらからご視聴ください! zenn.dev さて、今回登壇するにあたり資料を用意していたのですが、発表時間の関係で削除してしまった内容がいくつかあるため、ここで紹介させてください go <-> cgo のオーバーヘッドを何とかしたい トランポリンコードの世界 c
A recent post on the front page of HN made a comparison between different SQLite packages for Go.... 今回は、M1 Mac で Linux AMD64 用のバイナリを作ってみます。 以下のコマンドでコンパイルできます。 $ brew install zig $ CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC="zig cc -target x86_64-linux" CXX="zig c++ -target x86_64-linux" make isuports Go では CC や CXX を使って、CGO コンパイルで使う C・C++ コンパイラを指定できます。 Zig は C や C++コンパイラとして使うこともできるため、環境変数に zig コマンド
このラジオ番組。 以前から存在は知っていたものの、なかなか聞く機会がありませんでした。 で、昨日たまたま聞くことになったのですが、とても勉強になりました。 昨日たまたまゲストだったのが、CGOドットコムの総長、バブリーさん。 いろいろと頭に疑問が浮かびそうですが、とりあえず、昨日聴いたラジオの話を書いていきます。 昨日のラジオの話し。思い出せる限り まずは、昨日聴いたラジオの話しを、思い出せる限り書き綴っていきます。 いつもの、TBSラジオMeet Upのレビューと違って、昨日はお酒を飲みながら、ボーッと聴いていたので、すべてを書き綴ることはできませんが、思い出せる限り書いていきます。 気楽に読んで下さい。 というか、正直、同じTBSラジオのMeet Upより勉強になったような・・・ CGOドットコム株式会社の総長・・・つまり社長のバブリーさん。 ご自身の経歴や遍歴について語られていたか・
cgo はビルドも遅くなるし、クロスコンパイルに問題が出ることもあるし、呼び出しオーバーヘッドも大きいです。 ただ、それでも既存の C 言語資産を使いたい場合など、使いどころは多数あります。 以下の記事では、 cgo 使用に対して次のように書かれています。 Slower build times Complicated builds You lose access to all your tools Performance will always be an issue C calls the shots, not your code Deployment gets more complicated Go では散々な言われようですが、 TinyGo ではどうでしょうか? なお、、、 TinyGo については以下の書籍や記事などを参照してください。 cgo 呼び出しオーバーヘッドを測定する 以
Most people use the mattn/go-sqlite3 package to interact with SQLite in Go. This package uses cgo and bundles the SQLite C amalgamation files with the Go source. But Go developers often prefer not to use cgo (see for example cgo is not go). I mention this because there happens to be an underrated translation of SQLite's C source code to Go. Since it is a translation of C to Go, you don't need to u
ダイヤモンド保険ラボ 毎月の家計への負担が決して小さくない保険料。ダイヤモンド編集部の大好評特集である「保険特集」を長年担当してきた担当記者が、保険の見直しをしたい消費者に向けて、最新情報をお届けする。また保険業界関係者必見の、再編や規制、監督官庁である金融庁の動きもレポートする。 バックナンバー一覧 マニュライフ生命に節税保険で初の業務改善命令 ほぼ名指しで前CEOと前CGOの責任に言及 「こんな行政処分は見たことがない……」 7月14日、金融庁は外資系生命保険会社のマニュライフ生命保険に対し、保険業法に基づく業務改善命令を出した。過度に節税効果をうたった法人向けの節税保険を販売し、保険本来の趣旨を逸脱するような「極めて不適切な募集活動や商品開発を行っていた」(金融庁)ためだ。 行政処分の詳細は、同日16時に金融庁のホームページに公表されたが、その文書を読んだ保険業界の関係者たちは一様に
CGOフリーなSQLiteドライバーmodernc.org/sqlite は 以下のC記述をGoにトランスレートする仕組みで作られたPure-GoなSQLite3ドライバーです。 https://gitlab.com/cznic/ccgo https://gitlab.com/cznic/libc これを利用して型安全なORM「ent」でつかう方法をまとめてみます。 ドライバーラッパー entがsqliteドライバーに要求するForeignKeysフラグがmodernc.org/sqlite では標準でスイッチできないのでそこをサポートするコードを差し込みます。幸い、ドライバー名はsqlite3ではなくsqliteで重複していないのでsqlite3で登録することでentがサポートするドライバー名に合わせることができます。 sqlite_driver.go package main impo
「ギャルマインド」を活かしたワークショッププログラムを提供する、合同会社CGOドットコムは、AIピカソなど、高度なAI関連技術を応用した、いまだかつてないプロダクトを開発・提供している株式会社AIdeaLabと提携し、ギャルの言語を習得した「AIギャル」をリリースしたことを、2023年3月9日に発表した。 同社では、《自分軸・直感性・ポジティブ思考》からなるギャルマインドを人々が持つことで、社会をアゲにすることをミッションとしており、「AIギャル」を多くの人に利用してもらうことで、これまで以上にギャルとのコミュニケーションを通したギャルマインドの習得を促し、社会全体をアゲにすることを目指しているとのことだ。 同社の主力サービスである「ギャル式ブレスト」は、ギャルとのブレストを通して、組織内のコミュニケーション硬直化の改善・新規事業創出のためのマインドセット獲得のサポートを実施しており、これ
Goでマルチメディアのデータをリアルタイムに処理したい場合に、標準パッケージを使用したプログラムにおいて十分なパフォーマンス目標に到達するにはなかなか困難な道のりがあります 例えば画像データ処理における行列演算のCPU命令はGoから直接実行することはできず、Cgoを利用することになります Cgoを経由してC/C++で書かれたCPU命令を多用するコードは可読性/保守性の面からも品質の維持が難しいものがあります 本セッションでは、私の所属する会社でストリーミングサーバ上でリアルタイムに映像/音声処理を行うために、Goのエコシステムを活かしつつ高速な処理を実現するために行ってきたこと、どういった変遷を経てCgoを用いながら保守性の高いコードを維持できるようにしたか、halide-langとGoの連携など、リアルタイム処理を実現するまでの過程と手法を紹介します
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く