Rust 1.7の発表

Rust 1.7の新しいバージョンを発表できることを嬉しく思います。 Rustは、メモリ、速度、およびコードの並列実行による安全な作業を目的としたシステムプログラミング言語です。



いつものように、公式Webサイトの対応するページからRust 1.7インストールできます。また、Github でバージョン1.7の変更の詳細なリストを確認できます。 このリリースには1300のパッチが含まれています。



安定バージョン1.7に含まれるもの



このリリースは、主にライブラリを対象としています。 将来のリリースに備えていくつかの言語機能を準備していますが、バージョン1.7が開発された期間には休日が含まれていたため、人々はGitHubのコメントに費やす時間を減らし、代わりに愛する人に注意を払いました。



ライブラリの安定化



1.7では、約40個のライブラリ関数とメソッドが安定化されています。 最大の安定したAPIの1つは、標準のHashMap<K, V>



でのカスタムハッシュアルゴリズムのサポートです。 以前は、すべてのハッシュディクショナリはSipHashをハッシュアルゴリズムとして使用し、デフォルトでDoS攻撃に対する保護を提供していました。 ただし、SipHashは小さなキーをハッシュすることはあまり速くありませんFNVアルゴリズムは 、このような引数に対してはるかに高速です。 つまり、 HashMap<usize, V>



などのタイプのハッシュアルゴリズムを変更すると、パフォーマンスが大幅に向上する可能性があります。

DoSから保護する必要はありません。



これを例で見るには、 crates.ioのfnvコンテナー使用して、次のようなHashMap



を作成します。



 extern crate fnv; use std::collections::HashMap; use std::hash::BuildHasherDefault; use fnv::FnvHasher; type MyHasher = BuildHasherDefault<FnvHasher>; fn main() { let mut map: HashMap<_, _, MyHasher> = HashMap::default(); map.insert(1, "Hello"); map.insert(2, ", world!"); println!("{:?}", map); }
      
      





ほとんどの場合、ハッシュアルゴリズムのタイプを指定する必要さえないことに注意してください。 型推論が機能します。 HashMap::default()



は、2倍速く動作するハッシュを取得するために必要なすべてです。 また、 Hash



特定のハッシュアルゴリズムとHash



無関係であるため、 HashMap



格納されている型を変更する必要がないことにも注意してください。



その他の注目すべき改善点は次のとおりです。





詳細については、リリースノートを参照してください。



貨物の特徴



Cargoにいくつかの小さな変更を加えました。





バージョン1.7の参加者



1.7の開発には144人が参加しました。 どうもありがとう!



1.7の参加者のリスト
  • アーロン・ツロン
  • アダム・ペリー
  • エイドリアン・ハイネ
  • エイダン・ホブソン・セイヤーズ
  • アレクセイ・クラドフ
  • アレクサンダー・ロパチン
  • アレックスブルカ
  • アレックス・クリトン
  • アリクラーク
  • アマニユー・ダントラス
  • アンドレア・ベディーニ
  • アンドレア・カンチャーニ
  • アンドレ・ボーガス
  • アンドリュー・バルチャック
  • アンドリュー・パセルティナー
  • 天使
  • アントン・ブランチャード
  • arcnmx
  • アリエル・ベン・イェフダ
  • アーサー
  • アシュレイソマー
  • バロスル・リー
  • ベンジャミン・ハー
  • ビョルン・シュタインブリンク
  • ボール
  • ブランドン・マイスター
  • ブライアン・アンダーソン
  • ブライアン・キャンベル
  • カルロス・E・ガルシア
  • チャドシャファー
  • コリー・ファーウェル
  • ダーン・スプレンケル
  • ダニエル・キャンベル
  • ダニエル・ロバートソン
  • デイブ・ホダー
  • デイブ・ハズビー
  • dileepb
  • ダーク・ガズデン
  • エデュアルド・ブルテスク
  • エリック・トリゼル
  • est31
  • エヴァン
  • ファブリス・デスレ
  • fbergr
  • フェリックス・グルーバー
  • フェリックス・S・クロックII
  • フロリアン・ハーン
  • ジェフ・カトリン
  • ジェフリー・トーマス
  • ゲオルグ・ブランドル
  • ゴメス
  • グレブ・コジレフ
  • ゴーカン・カラブルト
  • グレッグ・チャップル
  • ギヨームボンネット
  • ギョーム・ゴメス
  • イワン・コジク
  • ジャック・オコナー
  • ジェフリー・セイフリード
  • ヨハン・ロレンソ
  • ヨハネス・エルテル
  • ジョン・ホッジ
  • ジョン・コール・アルザケル
  • ジョナス・シエヴィンク
  • ジョナサン・リーム
  • ジョナサン
  • ホルヘ・アパリシオ
  • ジョシュ・ストーン
  • カマル・マルヒビ
  • カッツェ
  • キース・ヨン
  • ケネス・コスキ
  • ケビンストック
  • ルーク・ジョーンズ
  • マニッシュゴレガオカル
  • マーク・ボウズ
  • マーヴィン・レーベル
  • マスード・マレカッセミ
  • マット・ブルーベック
  • マティアス・ムストハ
  • マイケル・フイン
  • マイケル・ノイマン
  • マイケル・ウーリスター
  • みた
  • モップ
  • ネイサン・クライン
  • ニコラス・マッズーカ
  • ニック・キャメロン
  • ニキータ・バクサリヤール
  • ニコ・マタキス
  • 野田カイ
  • nxnfufunezn
  • オラフ・ブッデンハーゲン
  • オリバー「カー」シュナイダー
  • オリバー・ミドルトン
  • オリバー・シュナイダー
  • パスカルHertleif
  • ポール・ディッカー
  • ポール・スミス
  • ピーター・アタシアン
  • ピーター・コロック
  • ピートバイン
  • ピエール・クリーガー
  • Piotr czarnecki
  • プラヤグ・ヴァーマ
  • qpid
  • ラビ・シャンカール
  • Reeze Xia
  • リチャード・ブラッドフィールド
  • ロビン・クルッペ
  • rphmeier
  • ルード・ファン・アッセルドンク
  • ライアン・トーマス
  • ひだまり
  • スコット・オルソン
  • スコット・ウィテカー
  • ショーン・レフラー
  • ショーン・マクター
  • セバスチャン・ハーン
  • セバスチャン・ウィッキ
  • セバスチャン・マリー
  • ソ・サンヒョン
  • セルゲイ・ヴェセルコフ
  • シモナス・カズラウスカス
  • サイモン・サパン
  • ステパン・コルツォフ
  • ステファン・ヒューゲル
  • スティーブ・クラブニック
  • スティーブンアレン
  • スティーブン・ファクラー
  • タミール・デュベルスタイン
  • tgor
  • トーマス・ウィッカム
  • トーマス・ウィンウッド
  • トビアス・ブッチャー
  • トビー・スクレース
  • トマス・ミエスコ
  • トルモル
  • シェパンレコンホーベ
  • ウルリック・スヴェルドラップ
  • ヴァディム・ペトロチェンコフ
  • ヴィンセントエスケープ
  • ウラド・ウレチェ
  • 王山呂
  • ウェズリー・ワイザー





All Articles