Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

2023-01-01から1年間の記事一覧

std::filesystemの便利さ

std::filesystem::pathは便利である。 文字コード変換機能が内蔵されており,macOS,windowsどちらも意図どおり動作する。 以下検証コードと実行結果である。 std::filesystem::path path1 = "あ"; const unsigned char* a = (const unsigned char*)path1.stri…

swift5.9(Xcode15)で気になる機能

Swift.org - Swift 5.9 Released SE-0366: consume operator to end the lifetime of a variable binding. C++の std::move と同じものが導入されました。 swift-evolution/proposals/0366-move-function.md at main · apple/swift-evolution · GitHub SE-03…

githubに登録した公開鍵がどれか確認する方法

githubに登録したSSHの公開鍵はアカウントの設定のところに情報がリストされますが、 作成時に使ったメールアドレスと SHA256:D60Uldj(以下略) 追加日時などしか表示されません。 一方自分が持つ公開鍵にはSHA256:のような情報はありません。 メールアドレス…

std::string_viewはstd::stringに比べてどのくらい速いのか

C++

std::string_viewは文字列の所有権を保持しません。 所有権を保持しない文字列であればcharポインタを使った方が効率はいいです。 std::string_viewには文字列比較機能などがありますが所有権を持たせたくなった時に、 std::stringに変更した時の修正量が少…

Xcode C++パフォーマンスチューニング

C++

Xcode - Instruments の TimeProfierでボトルネックとなる箇所を特定し改善する。 なるべくヒープアロケーションをしない。 なるべくデータのコピーをしない。 vDSP利用を検討する。 100以上の要素数でリニアサーチを使っている箇所があればバイナリサーチに…