{"action":"created","issue":{"url":"https://api.github.com/repos/librsync/librsync/issues/68","repository_url":"https://api.github.com/repos/librsync/librsync","labels_url":"https://api.github.com/repos/librsync/librsync/issues/68/labels{/name}","comments_url":"https://api.github.com/repos/librsync/librsync/issues/68/comments","events_url":"https://api.github.com/repos/librsync/librsync/issues/68/events","html_url":"https://github.com/librsync/librsync/issues/68","id":145333764,"number":68,"title":"Multithreaded operations(signature generation)","user":{"login":"iNDicat0r","id":13126311,"avatar_url":"https://avatars.githubusercontent.com/u/13126311?v=3","gravatar_id":"","url":"https://api.github.com/users/iNDicat0r","html_url":"https://github.com/iNDicat0r","followers_url":"https://api.github.com/users/iNDicat0r/followers","following_url":"https://api.github.com/users/iNDicat0r/following{/other_user}","gists_url":"https://api.github.com/users/iNDicat0r/gists{/gist_id}","starred_url":"https://api.github.com/users/iNDicat0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iNDicat0r/subscriptions","organizations_url":"https://api.github.com/users/iNDicat0r/orgs","repos_url":"https://api.github.com/users/iNDicat0r/repos","events_url":"https://api.github.com/users/iNDicat0r/events{/privacy}","received_events_url":"https://api.github.com/users/iNDicat0r/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-04-02T04:20:53Z","updated_at":"2016-04-02T13:31:54Z","closed_at":null,"body":"Hi,\r\nI took a look at the whole file api and it seems that it's single threaded and on a system with more than one core, the processing power is not utilized for the signature generation and the other operations.\r\nOn the documentation i found the pull and push modes but I am not sure which one is useful so i need some declaration.\r\n\r\nWhat i want to achieve is to start x number of threads, lets say 4. Each thread will open the same file of lets say 40bytes and read at different positions to calculate:\r\nThread 1: read 0-9bytes from 'ab.txt' => calculate sig into a temp file\r\nThread 2: read 10-19bytes from 'ab.txt' => calculate sig into a temp file\r\nThread 3: read 20-29bytes from 'ab.txt' => calculate sig into a temp file\r\nThread 4: read 30-39bytes from 'ab.txt' => calculate sig into a temp file\r\n\r\nand finally concatenate all files and get the sig file.\r\n\r\nSo i don't know if this scenario is even possible. Any help would be appreciated."},"comment":{"url":"https://api.github.com/repos/librsync/librsync/issues/comments/204716560","html_url":"https://github.com/librsync/librsync/issues/68#issuecomment-204716560","issue_url":"https://api.github.com/repos/librsync/librsync/issues/68","id":204716560,"user":{"login":"iNDicat0r","id":13126311,"avatar_url":"https://avatars.githubusercontent.com/u/13126311?v=3","gravatar_id":"","url":"https://api.github.com/users/iNDicat0r","html_url":"https://github.com/iNDicat0r","followers_url":"https://api.github.com/users/iNDicat0r/followers","following_url":"https://api.github.com/users/iNDicat0r/following{/other_user}","gists_url":"https://api.github.com/users/iNDicat0r/gists{/gist_id}","starred_url":"https://api.github.com/users/iNDicat0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iNDicat0r/subscriptions","organizations_url":"https://api.github.com/users/iNDicat0r/orgs","repos_url":"https://api.github.com/users/iNDicat0r/repos","events_url":"https://api.github.com/users/iNDicat0r/events{/privacy}","received_events_url":"https://api.github.com/users/iNDicat0r/received_events","type":"User","site_admin":false},"created_at":"2016-04-02T13:31:54Z","updated_at":"2016-04-02T13:31:54Z","body":"Well during signature generation iotop/htop shows that CPU gets to almost 100% usage while the disk is not stressed at all. How do you explain this?"}}