タグ

2023年9月8日のブックマーク (5件)

  • Python/C/C++向けライブラリ「StringZilla」が登場、SIMD命令を利用して文字列操作を高速化

    アルメニア出身で米サンフランシスコ在住の開発者であるAsh Vardanian氏は、Python/C/C++向けライブラリ「StringZilla」のバージョン1.1.3を8月31日(現地時間)に公開した。StringZillaはApache 2.0ライセンスと3条項BSDライセンスで公開しているオープンソース・ソフトウェア。ユーザーはどちらかのライセンスを選んで利用できる。 StringZillaは、大規模な文字列データを単語ごとに区切ったり、区切った単語をソートするなどの機能を提供している。StringZillaの最初のバージョンであるバージョン1.0.0が公開されたのは2023年7月13日。それに先立ってVardanian氏が公開したブログポストでは、StringZillaの基的な考え方を解説している。 StringZillaは、長い文字列が対象であっても最初の4文字が合致していれ

    Python/C/C++向けライブラリ「StringZilla」が登場、SIMD命令を利用して文字列操作を高速化
  • このアプリ、サーバ代100万円は高い? 妥当? “バズレシピ”リュウジさんの投稿で議論

    「現在50万ユーザーがアプリを登録し、それに耐えうるサーバを借りるのに月額100万かかるらしく青ざめている」──人気料理YouTuberのリュウジさんが投稿したこんな投稿が話題だ。リュウジさんが携わるスマートフォン向けレシピアプリ「リュウジのバズレシピアプリ」を巡る投稿で、IT関係者間で「その規模で月100万円は高すぎでは」「いや妥当だ」などと、議論を呼んでいる。 リュウジのバズレシピアプリは、リュウジさん発案のレシピを検索・閲覧できるアプリ。全1000件超のレシピから3つをランダムに表示する「至高のルーレット」機能も備える。アプリ内には広告が存在するが、会員登録の上で月490円の「プレミアムプラン」に加入すれば消せる他、人気レシピランキングを閲覧する機能も使えるようになる。 リュウジさんはX(Twitter)のフォロワー261万人、YouTubeチャンネルの登録者数423万人超のインフ

    このアプリ、サーバ代100万円は高い? 妥当? “バズレシピ”リュウジさんの投稿で議論
  • データベース アーカイブ | Enjoy IT Life

    行ロックを利用してレコードを参照する方法をロッキングリードと呼びます。ロッキングリードを利用することで参照レコ…

  • 【図解】B-treeを理解し、複合インデックスの順番を正しく作る | Enjoy IT Life

    複合インデックス(結合インデックス)とは複数のカラムを組み合わせたインデックスのことをいいます。 検索やソート条件で一緒に利用されるカラムに対して複合インデックスを作成することでクエリの高速化が期待できます。 複合インデックスを正しく作成するにはB-treeインデックスの理解が必須です。 今回は複合インデックスを正しく作成するために必要な基礎知識について紹介します。 複合インデックスには順序がある ユーザーテーブルに存在するlast_name, first_name, ageのカラムに対して複合インデックスを作成する場合を考えてみます。 (last_name, first_name, age)の順で複合インデックスを作成した場合、インデックスの構造は以下のようになります。 (age, last_name, first_name)の順の場合は以下のようになります。 複合インデックスの構造は先

    【図解】B-treeを理解し、複合インデックスの順番を正しく作る | Enjoy IT Life
  • bmf-tech.com - Goで始めるコードのパフォーマンス改善

    Makuake Advent Calendar 2022の9日目の記事です! Goで始めるコードのパフォーマンス改善 自作HTTP Routerのgoblinのパフォーマンス改善をしよう思った際に、Goのパフォーマンス改善について取り組んでみたので、その際のアプローチと実践した取り組みについて書く。 前提知識 より奥深いチューニングをする上ではもっと必要な知識があると思うが、最低限必要なことだけリストアップ。 ガベージコレクション プログラムが実行時に確保したメモリ領域のうち、不要になった領域を自動で解放する機能のこと メモリ領域 テキスト領域 機械語に変換されたプログラムが可能される領域 スタック領域 プログラム実行時に確保されるメモリ領域 実行時にサイズが決まっているデータが対象 自動的に解放される(関数の実行が終了して不要になったときなど) ex. 引数、戻り値、一時変数など ヒープ