From: Charlie Savage Date: 2007-07-10T13:06:45+09:00 Subject: Re: Ruby extensions question.. --------------ms070705090701040204030400 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Aaron, > Here is a Mongrel code profile of that same mysql cal that returns 3000 > records.. > http://blog.rubyamf.org/profiling/mongrel_mysql3000_graph.txt > > the String#== method is still called 5 million times. Thats strange. > I've been trying to figure out where its coming from but can't quite pin > point it. I'll be poking around some more.. Anymore thoughts? Not sure if you still need this. But he newest version of ruby-prof, 0.5.0, keeps track of where code is called from. The easiest way to see this is create an graph html report and look at the last column, which is called line. It is a hyperlink, and if you click on it, it will jump you to the correct file. Unfortunately browsers won't jump to the right line in a text file, but look at the end of the url and you can see what the line numbers is. Hope this helps, Charlie --------------ms070705090701040204030400 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJAzCC AtwwggJFoAMCAQICEAoty2f3MFegtmGEVEetSuQwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MDUxNTIxNTEyNVoX DTA4MDUxNDIxNTEyNVowQzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEgMB4G CSqGSIb3DQEJARYRY2Zpc0BzYXZhZ2V4aS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQCylmJRp+N8UWDg0OVjSKArEIwPgm5N4IsFtPsC+Via4XyKtJ0t41OgCO7dQrEc Gv9SHRna4tN7/IkJX2aJABWjPWLVvLPBz5WyMtwqdHIII/i/qZclyQ/Tbzi4d+TpgeLgfa/F UqcEzUhLz3Bh75WwkzXJIxVhLXNIh79EpAdMf2W/hveM2D84uXfmMyX+sOoMCHKn2b9zzV9d wuoaPwqMC5Tda6vDn+Vz67KLQY/WATyGYzZqoqG7hrmLS9sKKsWPQ07SctpOPv6a5bSw0j1X aV/azGwRw5yu5wB/9W6rlg0/tNOXFntGR7XU4Ws2sPd5x54KCiYZyyhke17BWxLbAgMBAAGj LjAsMBwGA1UdEQQVMBOBEWNmaXNAc2F2YWdleGkuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZI hvcNAQEFBQADgYEAk9Qw9KKcchhGWGAe9u7GZlCEGsSi1+SjmTsBlDB/T/erNEljkJOXvJBk DGu6j9sJBr9oMZ6LrWIWy/OuqJ+YJhPZUR7TWlKZVuAGlVXwbA6iqSF4Q2uXK+fFP1GG8lkA maSDWXWlij9KsKfARKHRjE2SuGANUOf6CzgUjgSCOOQwggLcMIICRaADAgECAhAKLctn9zBX oLZhhFRHrUrkMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3 dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJl ZW1haWwgSXNzdWluZyBDQTAeFw0wNzA1MTUyMTUxMjVaFw0wODA1MTQyMTUxMjVaMEMxHzAd BgNVBAMTFlRoYXd0ZSBGcmVlbWFpbCBNZW1iZXIxIDAeBgkqhkiG9w0BCQEWEWNmaXNAc2F2 YWdleGkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAspZiUafjfFFg4NDl Y0igKxCMD4JuTeCLBbT7AvlYmuF8irSdLeNToAju3UKxHBr/Uh0Z2uLTe/yJCV9miQAVoz1i 1byzwc+VsjLcKnRyCCP4v6mXJckP0284uHfk6YHi4H2vxVKnBM1IS89wYe+VsJM1ySMVYS1z SIe/RKQHTH9lv4b3jNg/OLl35jMl/rDqDAhyp9m/c81fXcLqGj8KjAuU3Wurw5/lc+uyi0GP 1gE8hmM2aqKhu4a5i0vbCirFj0NO0nLaTj7+muW0sNI9V2lf2sxsEcOcrucAf/Vuq5YNP7TT lxZ7Rke11OFrNrD3eceeCgomGcsoZHtewVsS2wIDAQABoy4wLDAcBgNVHREEFTATgRFjZmlz QHNhdmFnZXhpLmNvbTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4GBAJPUMPSinHIY RlhgHvbuxmZQhBrEotfko5k7AZQwf0/3qzRJY5CTl7yQZAxruo/bCQa/aDGei61iFsvzrqif mCYT2VEe01pSmVbgBpVV8GwOoqkheENrlyvnxT9RhvJZAJmkg1l1pYo/SrCnwESh0YxNkrhg DVDn+gs4FI4EgjjkMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UE BhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl cyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJ KoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAw MFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25z dWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJ c3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1 BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwL B+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZ cmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYy aHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYD VR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODAN BgkqhkiG9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82 L8D0HFAgk3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr3 94fWxghOrvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCA2QwggNgAgEBMHYwYjEL MAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAKLctn9zBXoLZh hFRHrUrkMAkGBSsOAwIaBQCgggHDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI hvcNAQkFMQ8XDTA3MDcxMDA0MDYwNFowIwYJKoZIhvcNAQkEMRYEFIyGKDMc9Tq5xhIJKPeP J1j++3xoMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0G CCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3EAQxeDB2 MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQCi3LZ/cw V6C2YYRUR61K5DCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQK ExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u YWwgRnJlZW1haWwgSXNzdWluZyBDQQIQCi3LZ/cwV6C2YYRUR61K5DANBgkqhkiG9w0BAQEF AASCAQBywOur1Us0KKhgYCoiixZ0/fwfvUHiLboPQC2CaWuIdI/fJ9DXghvHkT/qeW7aQkaF DDZ3kCS4AHYv1T1mq4yR41z/CHp0EPnk+SXYZvcAaOuSBMC5MwEpfA/CxW+tcpxV1Tp/umwh 4BSaACzvyKDbxJIrFajNPAlzGxCRIFH/6A2C57qXDDJYQp35timTcJERXrqlprpTO81FSiBx IFG7y1zcq2kG59Gu/w5jTNNNSIud+wUdH/8ANDR5BjQEL7zwO0KIgToyAvy0Gn15Et9yQ/5E BD3aoC8/mNM4TFHNIOsWqtRWlkezAHd7RkfHJ7AWug7qNAzvXtha50BPYtV2AAAAAAAA --------------ms070705090701040204030400--