安定版リリース1.2に含まれるもの
以前に報告したように 、Rust 1.2はコンパイラに2つの重要な改善をもたらしました。
- コンパイラのパフォーマンスの全体的な向上 。これは、パッケージハイパー (コンパイルが1.16倍高速)、 html5ever (1.62倍)、 regex (1.32倍)、およびrust-encoding (1.35倍)で最も顕著です。 このサイト (Nick Cameron製)で詳細なパフォーマンス統計を確認できます。日付は2015-05-15から2015-06-25までです。
- 並列コード生成が 機能するようになり、クアッドコアマシンでRustコンパイラをコンパイルする初期段階で速度が33%向上します。 並列コード生成は、一部の最適化の使用を妨げるため、デバッグビルドに特に役立ちます。 ただし、最適化を
-O1
して、実際にレベル-O1
使用することもできます。rustc
フラグ-C codegen-units=N
を渡すことにより、並列生成をアクティブにできます。ここで、N
は目的の並列スレッドの数です。
貨物のパフォーマンスも大幅に改善されました。
- 大規模なプロジェクトで再コンパイルを必要としないアセンブリ(「no-opアセンブリ」)がはるかに高速になりました。 たとえば、Servoでは、ビルド時間が5秒から0.5秒に短縮されました。
- Cargoは、異なるパッケージのコンパイル済み依存関係がキャッシュされる共有「ターゲット」ディレクトリをサポートするようになりました。これにより、複雑なプロジェクトのビルド時間が大幅に短縮されます。
リリース1.2には、GNUバージョンに加えて、MSVC(Microsoft Visual C)ツールチェーンのサポートも含まれていました。 その結果、Rustコードは、ネイティブのWindowsユーティリティによってコンパイルされたコードに直接リンクできるようになりました。 コンパイラー自体はMSVCでブートストラップすることができ、すでに予備のナイトリービルドがあり、MSVCですべてのrust-langライブラリをテストしています。 スタックの巻き戻しはまだサポートされていません(プロセスはパニックで終了します)が、それを実装するための作業が進行中です。
言語の観点から、 動的サイズの型のサポートはRust 1.2で完了しました。これにより、
Rc
などのスマートポインターが配列や特性オブジェクトを直接操作できるようになりました。たとえば、
Rc<[T]>
完全に使用可能です。 この改善は、標準ライブラリのすべてのスマートポインターに適用されます。 サードパーティのポインタータイプのサポートは、ナイトリービルドで利用でき、まもなく完全に安定します。
1.3ベータの新機能
サイクル1.3で最も興味深い開発の1つは、 Rustonomiconの作成でした。これは、「Rustの高度で安全でないプログラミングのダークアート」に関する新しい本です。 これまでのところ、この本は執筆のごく初期段階にすぎませんが、Rustのより優れた側面に関する完全に貴重な説明が含まれています。
サイクル1.3では、主に標準ライブラリにパフォーマンスの改善もあります。
- 部分文字列検索では、 より効率的なアルゴリズムが使用されるようになりました 。
-
Vec::resize
およびRead::read_to_end
を高速化するゼロフィリングの改善。 -
Read::read_to_end
の実装はstdin
とFile
特化しており 、これによりパフォーマンスがさらに向上しました。 - スライスでの
PartialEq
実装がはるかに高速になりました 。
また、 Windows XPを事前にサポートするために個別の手順を実行しました。 Windows XPを「ファーストクラス」のプラットフォームにするつもりはありませんが、標準ライブラリの個々の要素の使用を避ければ、XPでRustをプログラムできるようになりました。
貨物側では、 以前に採用されたRFCに従ってlint'ovを制限する機能を追加しました。 この機能のアイデアは、プロジェクトの依存関係の糸くずがプロジェクトのコンパイルを妨げないようにすることです。これにより、エコシステム全体に影響を与えることなく糸くずの動作を微調整する機会が得られます。
貢献者リリース1.2
安定版リリース1.2は、180人の努力の結果です。
リスト
アーロン・ツロン
アビシェーク・チャンダ
アドルフォ・オカガビア
エイダン・ホブソン・セイヤーズ
アクシェイ・チウェイン
アレックスブルカ
アレックス・クリトン
アレックス・ストークス
アレクサンダー・アルテメンコ
アレクシス・ベインゲスナー
アンドレア・カンチャーニ
アンドリュー・フート
アンドリュー・ケンスラー
アンドリュー・ストロー
アリエル・ベン・イェフダ
オースティン・ヘリアー
バロスル・リー
ベン・ストリーゲル
ビョルン・シュタインブリンク
ブライアン・アンダーソン
ブライアン・キャンベル
ブライアン・レイビッグ
ブライアン・キンラン
キャロル(ニコルズ||成形)
クリス・ヘルムート
クリスチャン・スタデルマン
チャック・バセット
コリー・ファーウェル
コーネル・プンガ
クルス・ジュリアン・ビショップ
デイブ・ハズビー
デビッド・キャンベル
デビッド・スティグストラ
デビッド・ヴォイト
エデュアルド・ボップ
エデュアルド・ブルテスク
エリ・フリードマン
エミリオ・コボス・アルバレス
エミリー・ダンハム
エリック・イェ
エリック・マイケルズ・オーバー
ファルコ・ヒルシェンベルガー
フェリックス・S・クロックII
富剛強
ジェフリー・トーマス
グレブ・コジレフ
ギョーム・ゴメス
グルシャン・シン
ヘジョンアン
黄花ao
フオン・ウィルソン
イワン・ウホフ
イヴェンスー
ジェイク・ゴールディング
ジェイク・ヒッキー
ジェームズ・ミラー
ジャレッド・ローシュ
ジェレミー・シャッター
ジェクセル
ジム・ブランディ
ヨハン・タフ
ヨハネス・ホフ
ヨハネス・エルテル
ジョン・ホッジ
ジョナサン・リーム
ジョシュア・ランドー
ケビン・バラード
クビライコカック
リー・ジェフリー
レオコレア
リゴ・ツィアン
ローレンツ
ルカ・ブルーノ
ラクマン・アデン
マニッシュゴレガオカル
マルセル・ミュラー
マーカス・クラース
マリン・アタナソフ・ニコロフ
マルクス・ウェスターリンド
マーティンプール
マーヴィン・レーベル
マテジ・ラック
マシュー・デビッド
マット・ブルーベック
マシュー・アストリー
マックス・ジェイコブソン
マクシミリアン・ハック
マイケル・レイゼル
マイケル・マシアス
マイケル・ローゼンバーグ
マイケル・スプロール
マイケル・ウーリスター
ミネア・ドブレスク・龍族
ミハイル・ザバルエフ
モハメッド・アッティア
Ms2ger
ムラース
マリオ・フェロルディ
ネイサン・ロング
ナサニエル・タイス
ニック・キャメロン
ニック・デサルニエ
ニック・フィッツジェラルド
ニック・ハーマン
ニック・ハウエル
ニコ・マタキス
ニルス・リベルグ
オレグシバ
オリバー「カー」シュナイダー
オリバー・シュナイダー
P1start
パーカー・ムーア
パスカルHertleif
ポール・ファリア
ポール・オリバー
ピア・アラミロ・イリザール
ピーター・アタシアン
ピーター・エルマーズ
フィリップ・ムンクスガード
ラルフ・ジル
手綱ハインリヒ
リカルド・マルタン
リコ・ヒーリー
リッキー・テイラー
ラッセル・ジョンストン
ラッセル・マクレラン
ライアン・ペンドルトン
ライマン
レミ・オーデベール
キム・セボム
ショーン・コリンズ
ショーン・ギレスピー
ショーン・パトリック・サントス
ソ・サンヒョン
サイモン・サパン
シモナス・カズラウスカス
スティーブ・グリー
スティーブ・クラブニック
スティーブンアレン
スティーブン・ファクラー
スティーブン・ウォルター
セバスチャン・マリー
タミール・デュベルスタイン
トーマス・カルピニエック
ティム・リンゲンバッハ
シェパンレコンホーベ
ウルリック・スヴェルドラップ
ヴァディム・ペトロチェンコフ
ヤン・ウェイミン
ウェズリー・ワイザー
ウィルフレッドハグス
ウィルアンドリュース
夢中になる
雪峰呉
雪峰武
永q
ヨーク翔
Z1
ベン・フライス
ベナリオルグ
ブラス
ボール
クラトゥール
二人の
dmgawel
エコノプラス
フランカン
ファンキル
Inrustwetrust
ジョリフ
クルツィー
マルセル
マンディンガー
オロンバード
ペフェロン
レイグラバー
サム
シンプレックス
sumito3478
ウェブモブスター
アビシェーク・チャンダ
アドルフォ・オカガビア
エイダン・ホブソン・セイヤーズ
アクシェイ・チウェイン
アレックスブルカ
アレックス・クリトン
アレックス・ストークス
アレクサンダー・アルテメンコ
アレクシス・ベインゲスナー
アンドレア・カンチャーニ
アンドリュー・フート
アンドリュー・ケンスラー
アンドリュー・ストロー
アリエル・ベン・イェフダ
オースティン・ヘリアー
バロスル・リー
ベン・ストリーゲル
ビョルン・シュタインブリンク
ブライアン・アンダーソン
ブライアン・キャンベル
ブライアン・レイビッグ
ブライアン・キンラン
キャロル(ニコルズ||成形)
クリス・ヘルムート
クリスチャン・スタデルマン
チャック・バセット
コリー・ファーウェル
コーネル・プンガ
クルス・ジュリアン・ビショップ
デイブ・ハズビー
デビッド・キャンベル
デビッド・スティグストラ
デビッド・ヴォイト
エデュアルド・ボップ
エデュアルド・ブルテスク
エリ・フリードマン
エミリオ・コボス・アルバレス
エミリー・ダンハム
エリック・イェ
エリック・マイケルズ・オーバー
ファルコ・ヒルシェンベルガー
フェリックス・S・クロックII
富剛強
ジェフリー・トーマス
グレブ・コジレフ
ギョーム・ゴメス
グルシャン・シン
ヘジョンアン
黄花ao
フオン・ウィルソン
イワン・ウホフ
イヴェンスー
ジェイク・ゴールディング
ジェイク・ヒッキー
ジェームズ・ミラー
ジャレッド・ローシュ
ジェレミー・シャッター
ジェクセル
ジム・ブランディ
ヨハン・タフ
ヨハネス・ホフ
ヨハネス・エルテル
ジョン・ホッジ
ジョナサン・リーム
ジョシュア・ランドー
ケビン・バラード
クビライコカック
リー・ジェフリー
レオコレア
リゴ・ツィアン
ローレンツ
ルカ・ブルーノ
ラクマン・アデン
マニッシュゴレガオカル
マルセル・ミュラー
マーカス・クラース
マリン・アタナソフ・ニコロフ
マルクス・ウェスターリンド
マーティンプール
マーヴィン・レーベル
マテジ・ラック
マシュー・デビッド
マット・ブルーベック
マシュー・アストリー
マックス・ジェイコブソン
マクシミリアン・ハック
マイケル・レイゼル
マイケル・マシアス
マイケル・ローゼンバーグ
マイケル・スプロール
マイケル・ウーリスター
ミネア・ドブレスク・龍族
ミハイル・ザバルエフ
モハメッド・アッティア
Ms2ger
ムラース
マリオ・フェロルディ
ネイサン・ロング
ナサニエル・タイス
ニック・キャメロン
ニック・デサルニエ
ニック・フィッツジェラルド
ニック・ハーマン
ニック・ハウエル
ニコ・マタキス
ニルス・リベルグ
オレグシバ
オリバー「カー」シュナイダー
オリバー・シュナイダー
P1start
パーカー・ムーア
パスカルHertleif
ポール・ファリア
ポール・オリバー
ピア・アラミロ・イリザール
ピーター・アタシアン
ピーター・エルマーズ
フィリップ・ムンクスガード
ラルフ・ジル
手綱ハインリヒ
リカルド・マルタン
リコ・ヒーリー
リッキー・テイラー
ラッセル・ジョンストン
ラッセル・マクレラン
ライアン・ペンドルトン
ライマン
レミ・オーデベール
キム・セボム
ショーン・コリンズ
ショーン・ギレスピー
ショーン・パトリック・サントス
ソ・サンヒョン
サイモン・サパン
シモナス・カズラウスカス
スティーブ・グリー
スティーブ・クラブニック
スティーブンアレン
スティーブン・ファクラー
スティーブン・ウォルター
セバスチャン・マリー
タミール・デュベルスタイン
トーマス・カルピニエック
ティム・リンゲンバッハ
シェパンレコンホーベ
ウルリック・スヴェルドラップ
ヴァディム・ペトロチェンコフ
ヤン・ウェイミン
ウェズリー・ワイザー
ウィルフレッドハグス
ウィルアンドリュース
夢中になる
雪峰呉
雪峰武
永q
ヨーク翔
Z1
ベン・フライス
ベナリオルグ
ブラス
ボール
クラトゥール
二人の
dmgawel
エコノプラス
フランカン
ファンキル
Inrustwetrust
ジョリフ
クルツィー
マルセル
マンディンガー
オロンバード
ペフェロン
レイグラバー
サム
シンプレックス
sumito3478
ウェブモブスター