This is a multi-part message in MIME format.
--------------030106030306060301020605
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Hi,
I want to survey the Ruby interpreter usage.
If you have
- a real application on Ruby 1.9 trunk
if that application has a performance issue, it is welcome.
- the build environment
- time
please cooperate me to survey the CFUNC usage.
Procedure:
(1) Check out ruby trunk
$ svn co http://svn.ruby-lang.org/repos/trunk
(2) Apply a patch which is attached to this mail
(3) Build ruby interpter and install it
(4) Run application on the interpreter
Ruby prints the results into STDERR at the end of ruby process.
$ ruby [application] 2> result
(5) Send me the result with
- your environment (ruby -v)
- brief description of your application.
Download-able URL instead of attaching the result is preferable
because the result will be a huge text file.
(6) Do not forget to remove (or invalidate) installed Ruby
Result:
The results show the usage of CFUNC. CFUNC is methods implemented in C.
<format>
method_name [shallow count] [deep count]
...
</format>
[shallow count] means the number of invoking the method named
[method_name] without invoking the other methods (and blocks, and so
on). [deep count] is the number of invoking which invoke other methods.
result sample (sorted by Excel):
http://www.atdot.net/sp/view/fmjbal
application: rdoc (build process)
environment: ruby 1.9.3dev (2010-10-14) [i686-linux]
Purpose:
To tune the VM. I can find out which CFUNC method / what kind of
methods should be faster.
Thank you for.
Regards,
Koichi
----
Japanese (¤Ë¤Û¤ó¤´):
¡¡CFUNC ¤¬¤É¤ó¤Ê´¶¤¸¤Ç»È¤ï¤ì¤Æ¤ë¤«ÃΤꤿ¤¤¤Î¤Ç¡¢¥Ñ¥Ã¥Á¤¢¤Æ¤Æ¼Â¹Ô¤·¤Æ¡¢·ë
²Ì¤òÁ÷¤Ã¤Æ²¼¤µ¤ë¤È «¤ê¤Þ¤¹¡£·ë²Ì¤Ï¡¢¥×¥í¥»¥»»þ¤Ëɨ¥é¡Ï¤¨Â
¤Þ¤¹¡ÊÀµ³Î¤Ë¤Ï¡¢¥¹¥ì¥Ã¥É¤¬²ó¼ý¤µ¤ì¤ë¤È¤¤Ë¥¹¥ì¥Ã¥É¸å¤Î¤Ë ϡˡ¨Â
±®¤Î¥ê¥¢¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ã¤Æ¤É¤ì¤¯¤é¤¤¤¢¤ë¤ó¤À¤í¡£
--
// SASADA Koichi at atdot dot net
--------------030106030306060301020605
Content-Type: text/plain;
name
funcsurvey.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename
funcsurvey.patch"
SW5kZXg6IHZtX2NvcmUuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHZtX2NvcmUuaAkocmV2aXNp
b24gMjk0OTgpDQorKysgdm1fY29yZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtNDc5LDYgKzQ4
MiwxNSBAQCB0eXBlZGVmIHN0cnVjdCByYl90aHJlYWRfc3RydWN0DQogICAgIGludCBhYm9y
dF9vbl9leGNlcHRpb247DQogI2lmZGVmIFVTRV9TSUdBTFRTVEFDSw0KICAgICB2b2lkICph
bHRzdGFjazsNCisjZW5kaWYNCisNCisjaWYgQ0ZVTkNfRlJBTUVfVVNBR0VfQ0hFQ0sNCisg
ICAgY2hhciAqY2Z1bmNfdXNhZ2VfbWVtbzsNCisgICAgc3RfdGFibGUgKmNmdW5jX3VzYWdl
X3RhYmxlOw0KKyAgICBzdHJ1Y3QgY2Z1bmNfdXNhZ2VfcmVjb3JkIHsNCisJc2l6ZV90IHNo
YWxsb3c7DQorCXNpemVfdCBkZWVwOw0KKyAgICB9Ow0KICNlbmRpZg0KIH0gcmJfdGhyZWFk
X3Q7DQogDQpJbmRleDogY29tcGlsZS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gY29tcGlsZS5j
CShyZXZpc2lvbiAyOTQ5OCkNCisrKyBjb21waWxlLmMJKHdvcmtpbmcgY29weSkNCkBAIC0x
ODAwLDYgKzE4MDAsNyBAQCBpbnNuX3NldF9zcGVjaWFsaXplZF9pbnN0cnVjdGlvbihyYl9p
c2VxDQogc3RhdGljIGludA0KIGlzZXFfc3BlY2lhbGl6ZWRfaW5zdHJ1Y3Rpb24ocmJfaXNl
cV90ICppc2VxLCBJTlNOICppb2JqKQ0KIHsNCisgICAgaWYgKDApIA0KICAgICBpZiAoaW9i
ai0+aW5zbl9pZCA9PSBCSU4oc2VuZCkpIHsNCiAJSUQgbWlkID0gU1lNMklEKE9QRVJBTkRf
QVQoaW9iaiwgMCkpOw0KIAlpbnQgYXJnYyA9IEZJWDJJTlQoT1BFUkFORF9BVChpb2JqLCAx
KSk7DQpJbmRleDogdm0uYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHZtLmMJKHJldmlzaW9uIDI5
NDk4KQ0KKysrIHZtLmMJKHdvcmtpbmcgY29weSkNCkBAIC04LDYgKzgsOCBAQA0KIA0KICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovDQogDQorI2RlZmluZSBDRlVOQ19GUkFNRV9VU0FHRV9DSEVDSyAx
DQorDQogI2luY2x1ZGUgInJ1YnkvcnVieS5oIg0KICNpbmNsdWRlICJydWJ5L3ZtLmgiDQog
I2luY2x1ZGUgInJ1Ynkvc3QuaCINCkBAIC0xNjg1LDYgKzE2ODcsMTggQEAgcmJfdGhyZWFk
X21hcmsodm9pZCAqcHRyKQ0KICAgICBSVUJZX01BUktfTEVBVkUoInRocmVhZCIpOw0KIH0N
CiANCitzdGF0aWMgaW50DQorY2Z1bmNfdXNhZ2VfcHJpbnRfaShzdF9kYXRhX3Qga2V5LCBz
dF9kYXRhX3QgdmFsLCBzdF9kYXRhX3QgZGF0YSkNCit7DQorICAgIGNoYXIgKm5hbWUgPSAo
Y2hhciAqKWtleTsNCisgICAgc3RydWN0IGNmdW5jX3VzYWdlX3JlY29yZCAqcmVjb3JkID0g
KHN0cnVjdCBjZnVuY191c2FnZV9yZWNvcmQgKil2YWw7DQorDQorICAgIGZwcmludGYoc3Rk
ZXJyLCAiJXNcdCUiIFBSSWRTSVpFICJcdCUiIFBSSWRTSVpFICJcbiIsDQorCSAgICBuYW1l
LCByZWNvcmQtPnNoYWxsb3csIHJlY29yZC0+ZGVlcCk7DQorDQorICAgIHJldHVybiBTVF9D
T05USU5VRTsNCit9DQorDQogc3RhdGljIHZvaWQNCiB0aHJlYWRfZnJlZSh2b2lkICpwdHIp
DQogew0KQEAgLTE3MDgsNiArMTcyMiwxNCBAQCB0aHJlYWRfZnJlZSh2b2lkICpwdHIpDQog
CWlmICh0aC0+bG9jYWxfc3RvcmFnZSkgew0KIAkgICAgc3RfZnJlZV90YWJsZSh0aC0+bG9j
YWxfc3RvcmFnZSk7DQogCX0NCisNCisjaWYgQ0ZVTkNfRlJBTUVfVVNBR0VfQ0hFQ0sNCisJ
aWYgKHRoLT5jZnVuY191c2FnZV90YWJsZSkgew0KKwkgICAgZnByaW50ZihzdGRlcnIsICJD
RlVOQ19GUkFNRV9VU0FHRV9DSEVDSzogc3RhcnRcbiIpOw0KKwkgICAgc3RfZm9yZWFjaCh0
aC0+Y2Z1bmNfdXNhZ2VfdGFibGUsIGNmdW5jX3VzYWdlX3ByaW50X2ksIDApOw0KKwkgICAg
ZnByaW50ZihzdGRlcnIsICJDRlVOQ19GUkFNRV9VU0FHRV9DSEVDSzogZW5kXG4iKTsNCisJ
fQ0KKyNlbmRpZg0KIA0KICNpZiBVU0VfVkFMVUVfQ0FDSEUNCiAJew0KSW5kZXg6IHZtX2lu
c25oZWxwZXIuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHZtX2luc25oZWxwZXIuYwkocmV2aXNp
b24gMjk0OTgpDQorKysgdm1faW5zbmhlbHBlci5jCSh3b3JraW5nIGNvcHkpDQpAQCAtNjgs
NiArNjgsMzEgQEAgdm1fcHVzaF9mcmFtZShyYl90aHJlYWRfdCAqIHRoLCBjb25zdCByYg0K
ICAgICBjZnAtPnByb2ZfdGltZV9jaGxkID0gMDsNCiAjZW5kaWYNCiANCisjaWYgQ0ZVTkNf
RlJBTUVfVVNBR0VfQ0hFQ0sNCisgICAgaWYgKHRoLT5jZnVuY191c2FnZV9tZW1vKSB7DQor
CXN0cnVjdCBjZnVuY191c2FnZV9yZWNvcmQgKnJlY29yZDsNCisJaW50IGZvdW5kID0gMDsN
CisNCisJaWYgKHN0X2xvb2t1cCh0aC0+Y2Z1bmNfdXNhZ2VfdGFibGUsIChzdF9kYXRhX3Qp
dGgtPmNmdW5jX3VzYWdlX21lbW8sIChzdF9kYXRhX3QgKikmcmVjb3JkKSkgew0KKwkgICAg
Zm91bmQgPSAxOw0KKwl9DQorCWVsc2Ugew0KKwkgICAgcmVjb3JkID0gbWFsbG9jKHNpemVv
ZihzdHJ1Y3QgY2Z1bmNfdXNhZ2VfcmVjb3JkKSk7DQorCSAgICByZWNvcmQtPnNoYWxsb3cg
PSAwOw0KKwkgICAgcmVjb3JkLT5kZWVwID0gMDsNCisJfQ0KKw0KKwlyZWNvcmQtPmRlZXAr
KzsNCisNCisJc3RfaW5zZXJ0KHRoLT5jZnVuY191c2FnZV90YWJsZSwgKHN0X2RhdGFfdCl0
aC0+Y2Z1bmNfdXNhZ2VfbWVtbywgKHN0X2RhdGFfdClyZWNvcmQpOw0KKw0KKwlpZiAoZm91
bmQpIHsNCisJICAgIGZyZWUodGgtPmNmdW5jX3VzYWdlX21lbW8pOw0KKwl9DQorCXRoLT5j
ZnVuY191c2FnZV9tZW1vID0gMDsNCisgICAgfQ0KKyNlbmRpZg0KKyAgICANCiAgICAgaWYg
KFZNREVCVUcgPT0gMikgew0KIAlTRFIoKTsNCiAgICAgfQ0KQEAgLTM5OSw4ICs0MjQsNTAg
QEAgdm1fY2FsbF9jZnVuYyhyYl90aHJlYWRfdCAqdGgsIHJiX2NvbnRybw0KICAgICBjZnAt
Pm1lID0gbWU7DQogICAgIHJlZ19jZnAtPnNwIC09IG51bSArIDE7DQogDQorI2lmIENGVU5D
X0ZSQU1FX1VTQUdFX0NIRUNLDQorICAgIHsNCisJVkFMVUUga2xhc3NuYW1lID0gcmJfbW9k
X25hbWUobWUtPmtsYXNzKTsNCisJdGgtPmNmdW5jX3VzYWdlX21lbW8gPSBtYWxsb2MoMHgy
MCk7DQorCXNucHJpbnRmKHRoLT5jZnVuY191c2FnZV9tZW1vLCAweDIwIC0gMSwgIiVzIyVz
IiwNCisJCSBSVEVTVChrbGFzc25hbWUpID8gUlNUUklOR19QVFIoa2xhc3NuYW1lKSA6ICI/
PyIsDQorCQkgcmJfaWQybmFtZShtZS0+Y2FsbGVkX2lkKSk7DQorCXRoLT5jZnVuY191c2Fn
ZV9tZW1vWzB4MjAtMV0gPSAwOw0KKw0KKwlpZiAoIXRoLT5jZnVuY191c2FnZV90YWJsZSkg
ew0KKwkgICAgdGgtPmNmdW5jX3VzYWdlX3RhYmxlID0gc3RfaW5pdF9zdHJ0YWJsZSgpOw0K
Kwl9DQorICAgIH0NCisjZW5kaWYNCisNCiAgICAgdmFsID0gY2FsbF9jZnVuYyhkZWYtPmJv
ZHkuY2Z1bmMuZnVuYywgcmVjdiwgKGludClkZWYtPmJvZHkuY2Z1bmMuYXJnYywgbnVtLCBy
ZWdfY2ZwLT5zcCArIDEpOw0KIA0KKyNpZiBDRlVOQ19GUkFNRV9VU0FHRV9DSEVDSw0KKyAg
ICB7DQorCWlmICh0aC0+Y2Z1bmNfdXNhZ2VfbWVtbykgew0KKwkgICAgc3RydWN0IGNmdW5j
X3VzYWdlX3JlY29yZCAqcmVjb3JkOw0KKwkgICAgaW50IGZvdW5kID0gMDsNCisNCisJICAg
IC8qIGZwcmludGYoc3RkZXJyLCAiPiAlc1xuIiwgdGgtPmNmdW5jX3VzYWdlX21lbW8pOyAq
Lw0KKwkgICAgaWYgKHN0X2xvb2t1cCh0aC0+Y2Z1bmNfdXNhZ2VfdGFibGUsIChzdF9kYXRh
X3QpdGgtPmNmdW5jX3VzYWdlX21lbW8sIChzdF9kYXRhX3QgKikmcmVjb3JkKSkgew0KKwkJ
Zm91bmQgPSAxOw0KKwkgICAgfQ0KKwkgICAgZWxzZSB7DQorCQlyZWNvcmQgPSBtYWxsb2Mo
c2l6ZW9mKHN0cnVjdCBjZnVuY191c2FnZV9yZWNvcmQpKTsNCisJCXJlY29yZC0+c2hhbGxv
dyA9IDA7DQorCQlyZWNvcmQtPmRlZXAgPSAwOw0KKwkgICAgfQ0KKw0KKwkgICAgcmVjb3Jk
LT5zaGFsbG93Kys7DQorDQorCSAgICBzdF9pbnNlcnQodGgtPmNmdW5jX3VzYWdlX3RhYmxl
LCAoc3RfZGF0YV90KXRoLT5jZnVuY191c2FnZV9tZW1vLCAoc3RfZGF0YV90KXJlY29yZCk7
DQorDQorCSAgICBpZiAoZm91bmQpIHsNCisJCWZyZWUodGgtPmNmdW5jX3VzYWdlX21lbW8p
Ow0KKwkgICAgfQ0KKwkgICAgdGgtPmNmdW5jX3VzYWdlX21lbW8gPSAwOw0KKwl9DQorICAg
IH0NCisjZW5kaWYNCiAgICAgaWYgKHJlZ19jZnAgIT0gdGgtPmNmcCArIDEpIHsNCiAJcmJf
YnVnKCJjZnAgY29uc2lzdGVuY3kgZXJyb3IgLSBzZW5kIik7DQogICAgIH0NCg --------------030106030306060301020605--