{"updated":"2025-01-21T21:29:29.803940+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00074633","sets":["934:935:6375:6455"]},"path":["6455"],"owner":"10","recid":"74633","title":["Ruby用リアルタイムプロファイラの設計と実装"],"pubdate":{"attribute_name":"公開日","attribute_value":"2011-06-29"},"_buckets":{"deposit":"3641fa68-57fd-4f75-a7d2-7b0aaae89d75"},"_deposit":{"id":"74633","pid":{"type":"depid","value":"74633","revision_id":0},"owners":[10],"status":"published","created_by":10},"item_title":"Ruby用リアルタイムプロファイラの設計と実装","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Ruby用リアルタイムプロファイラの設計と実装"},{"subitem_title":"Design and Implementation of Real-time Performance Profiler for Ruby","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"通常論文","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2011-06-29","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東京大学大学院情報理工学系研究科"},{"subitem_text_value":"東京大学大学院情報理工学系研究科"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/74633/files/IPSJ-TPRO0403002.pdf"},"date":[{"dateType":"Available","dateValue":"2013-06-29"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO0403002.pdf","filesize":[{"value":"786.4 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"48721206-1d73-4758-906c-67a2ba2e653c","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2011 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"須永, 高浩"},{"creatorName":"笹田, 耕一"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Takahiro, Sunaga","creatorNameLang":"en"},{"creatorName":"Koichi, Sasada","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"Ruby は高い生産性を持つプログラミング言語である.これまでもプログラムにあるそれぞれのメソッドの実行時間を計測することができるプロファイラは整備されてきた.しかし,分析対象プログラムの実行と並行してリアルタイムプロファイリングが行えるツールが存在しなかった.そこで,本研究では Ruby で書かれたソフトウェアのプロファイリングをリアルタイムに行える実行時間プロファイラを開発した.本プロファイラは,対象となる Ruby で記述されたプログラムの,メソッド単位での実行時間情報を取得することが可能である.この情報取得はネットワークで接続された別のホストからリアルタイムに行うことができる.さらに,それぞれの情報についてプログラムのエントリポイントからの完全なコールパスを関連付けてプロファイリングを行うことが可能であり,対象となるプログラムのパフォーマンスの傾向を詳細に把握することが可能である.本プロファイラは,プロファイリングモジュールとモニタプログラムに分離されており,プロファイリングモジュールで情報を収集し,モニタプログラムがその情報をユーザへリアルタイムに提供する.本稿では,本プロファイラの設計と実装について述べる.また,本プロファイラのオーバヘッドの評価を行い,その結果を述べる.実用的なプログラムによる評価では 1.15 倍程度の実行時間の増加となり,本プロファイラは実用的であるとの結論を得た.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Ruby is a programming language which has high productivity. Up to now, Ruby's performance profilers that are able to measure execution time of each method have been developed. However, there is no real-time profiler that is able to show the profiling result while a Ruby program is running. We developed a profiler that is able to profile programs written in Ruby language in real time. The profiler can get execution time information of each method in the target Ruby program. It is able to get the information from a foreign host connected by network in real time. Furthermore, the profiler can profile associating each information with the entire call-path from an entry point of the program. With this call-path informathion users can know the trend in program performance in detail. The profiler consists of two parts: a profiling module and a monitor program. The profiling module collects information, and the monitor program provides information for users in real time. In this paper, we describe the design and implementation of our proposed profiler. We also describe the result of overhead evaluation for the profiler. Execution time increases 1.15 times in a practical example. We conclude that our profiler is capable for practical use.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"15","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2011-06-29","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"3","bibliographicVolumeNumber":"4"}]},"relation_version_is_last":true,"weko_creator_id":"10"},"created":"2025-01-18T23:32:05.801345+00:00","id":74633,"links":{}}