{"issue":{"created_at":"2011-11-29T10:19:47Z","state":"closed","updated_at":"2011-12-07T09:38:45Z","comments":1,"user":{"gravatar_id":"37339687eea2ce646efcf2749b75bff5","id":124855,"url":"https://api.github.com/users/jledet","login":"jledet","avatar_url":"https://secure.gravatar.com/avatar/37339687eea2ce646efcf2749b75bff5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"body":"The current buffer system is overly complicated, and has non-deterministic allocation times because the pool is searched using a for loop. \r\n\r\nIf the buffer elements were organized as a singly linked list, we could allocate by grabbing the first element in the list, and deallocate by inserting last in the list. O(1) instead of O(n).\r\n\r\nThe fix should be very easy. Just change the csp_buffer_state_t to contain a *next pointer and add a head and tail pointer for insertion/deletion. ","assignee":{"gravatar_id":"37339687eea2ce646efcf2749b75bff5","id":124855,"url":"https://api.github.com/users/jledet","login":"jledet","avatar_url":"https://secure.gravatar.com/avatar/37339687eea2ce646efcf2749b75bff5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2382663,"labels":[{"name":"Feature","color":"0b02e1","url":"https://api.github.com/repos/GomSpace/libcsp/labels/Feature"},{"name":"High","color":"e10c02","url":"https://api.github.com/repos/GomSpace/libcsp/labels/High"}],"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"number":21,"title":"Rewrite buffer system","html_url":"https://github.com/GomSpace/libcsp/issues/21","closed_at":"2011-12-07T09:38:45Z","url":"https://api.github.com/repos/GomSpace/libcsp/issues/21","milestone":null},"action":"closed"}