| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- local l = ffi.load("libc.so.6")
- local strlen = l.bind_func("i", "strlen", ["s"]);
- local str = "Hello World !";
- print(str, str.len(), strlen(str));
- local function mystrlen(str)
- {
- return str.len();
- }
- local function mystrlen2(str)
- {
- local result = 0;
- for(local len=str.len(); result < len; ++result);
- return result;
- }
- const MAX_COUNT = 5000000;
- local str_len = 0;
- local start_time = os.clock();
- for(local i=0; i < MAX_COUNT; ++i)
- {
- str_len = str.len();
- }
- print(MAX_COUNT, str_len, os.clock() - start_time);
- start_time = os.clock();
- for(local i=0; i < MAX_COUNT; ++i)
- {
- str_len = strlen(str);
- }
- print(MAX_COUNT, str_len, os.clock() - start_time);
- start_time = os.clock();
- for(local i=0; i < MAX_COUNT; ++i)
- {
- str_len = mystrlen(str);
- }
- print(MAX_COUNT, str_len, os.clock() - start_time);
- start_time = os.clock();
- for(local i=0; i < MAX_COUNT; ++i)
- {
- str_len = mystrlen2(str);
- }
- print(MAX_COUNT, str_len, os.clock() - start_time);
|