Commit Graph

143 Commits

Author SHA1 Message Date
Andy Pan 5ecbdf4bf2 Make optimization to Pool and PoolWithFunc struct 2019-10-10 22:28:21 +08:00
Andy Pan b1cf2ff445 Refine the logic of sync.Pool 2019-10-06 02:02:40 +08:00
Andy Pan b0ec5102cc Refactoring 2019-10-04 11:24:13 +08:00
Andy Pan e73db1d7d2 Replace mutex with spin-lock 2019-09-27 20:51:46 +08:00
Andy Pan 89644d035c Remove some useless code 2019-09-03 09:29:26 +08:00
Andy Pan 44aec9954f A little bit of optimization in periodicallyPurge() 2019-08-25 17:41:49 +08:00
Andy Pan cbf8ddf048 Fixed #45 and Releasing v2 module 2019-08-25 14:26:14 +08:00
Andy Pan 201ac20358 Add functional options pattern for ants 2019-08-25 14:14:18 +08:00
Andy Pan d1b4e8b163 🍻Refine the `Pool.Release()` Method 2019-08-25 14:14:18 +08:00
Cholerae Hu 444711e79f support nonblocking submit and max blocking limit setting
Signed-off-by: Cholerae Hu <choleraehyq@gmail.com>
2019-08-25 14:14:18 +08:00
Andy Pan 08d01b6b48 🎏Fix a bug where invokers get stuck in waiting idle workers 2019-08-18 04:15:21 +08:00
Andy Pan af70ed0660 🎏Fix a bug where invokers get stuck in waiting idle workers 2019-08-18 02:45:32 +08:00
Andy Pan 61660e2109 📚Refactor the blocking logic in retrieveWorker function 2019-07-27 13:08:09 +08:00
Andy Pan 51c0008356 🐞Fix a bug that blocks getting worker from pool 2019-07-27 12:05:44 +08:00
Andy Pan 71faec8c1a ☄️Rename the function with the more applicable name 2019-07-26 23:52:05 +08:00
anteoy 3e1c7a03a5 optimize memory allocation and add the log of panic stack 2019-07-26 23:22:24 +08:00
Andy Pan f447bf104a
📝Fix the type error 2019-07-26 16:11:26 +08:00
Andy Pan 9eb91a4ae0 📝Optimize the logic when cleaning up expired workers 2019-07-26 14:14:58 +08:00
Andy Pan d6076c09aa 🙄 Improvement in `periodicallyPurge` 2019-04-14 11:30:19 +08:00
Andy Pan 00294fd50b 😏 Optimization of the structure and style 2019-04-14 11:08:06 +08:00
Andy Pan 05fbdb8d5b 🎭 Fix race error 2019-04-14 11:08:06 +08:00
Andy Pan aa7dd6f8cc 🦖 Develop a more graceful release 2019-04-14 11:08:06 +08:00
Andy Pan 96348a39f5 🐳 Switch function name from Serve to Invoke 2019-02-19 20:16:14 +08:00
Andy Pan 64b763c558 🦠 Adapt code for explicit functions 2019-02-02 10:36:40 +08:00
Andy Pan 91377c898b 🦅 Fix a bug when using sync.Pool 2019-01-27 05:10:13 +08:00
Andy Pan 5c666692e9 🐬 Code logic improvement in pool.retrieveWorker 2019-01-27 04:25:36 +08:00
Andy Pan 689d74c63b Refactor about the synchronous lock 2019-01-27 04:05:58 +08:00
Andy Pan 908553139c 🐬 Performance improvement: use sync.Pool to cache active workers 2019-01-27 00:26:24 +08:00
Andy Pan 90f672b9d5 update 2019-01-26 21:45:49 +08:00
Andy Pan f8d71bb276 🐯 Refactor variable "release" with atomic operation 2019-01-26 15:29:05 +08:00
Andy Pan b091435432 🐲 An optimization in worker channel 2019-01-26 14:32:12 +08:00
Andy Pan c829c6f622 🐶 Replace the type of variable "release" with bool type 2019-01-26 13:45:00 +08:00
Andy Pan e15105fd84 🚗 Reduce a blank line 2019-01-26 12:29:07 +08:00
Andy Pan d3bcc5d10b 🐳 Use the nil of chan to indicate the pool closed or not 2019-01-26 12:26:26 +08:00
Andy Pan b6e43aeee3 🐯 Optimize code comments 2019-01-25 22:01:25 +08:00
Cholerae Hu 9158bd3702 feature: add PanicHandler
Signed-off-by: Cholerae Hu <choleraehyq@gmail.com>
2019-01-22 13:41:33 +08:00
Andy Pan 4320708756 supplement annotations 2018-12-07 01:11:54 +08:00
Andy Pan 639f55c4c9
Merge pull request #19 from zplzpl/hotfix/tickerStop
Possible memory leak because of Ticker
2018-12-01 23:49:31 +08:00
Andy Pan d8c168b198 remove useless return value from pool function 2018-12-01 19:22:05 +08:00
Andy Pan d052cf95e1 add some annotations 2018-12-01 18:41:42 +08:00
unknown e7bacd0f12 Possible memory leak because of Ticker 2018-11-19 10:57:53 +08:00
SimePel 5ed168767a remove another one useless if statement 2018-10-02 08:18:34 +07:00
AndyPan 1b62696050 add comments for waiting to get a idle worker 2018-09-30 09:46:56 +08:00
AndyPan e538683d3f add comments 2018-09-30 09:41:47 +08:00
AndyPan e8ccc8ecca format 2018-09-30 09:40:33 +08:00
liyonglion 1846b4392a 解决竞争锁导致bug 2018-09-29 14:58:58 +08:00
liyonglion 8ecd5078ac 解决死锁问题 2018-09-29 10:19:17 +08:00
andy pan e25a58c9f3 optimization for cleaning workers 2018-08-29 10:02:41 +08:00
andy pan 8556a67f0f fixed workers leak 2018-08-29 09:53:07 +08:00
andy pan 50918eb4a9 update 2018-08-08 18:13:50 +08:00
andy pan e99d428a5f fixed #7 2018-08-08 18:08:06 +08:00
andy pan 62fc58f047 fixed 清理过期协程报错 #7 2018-08-08 17:22:40 +08:00
Andy Pan 7a2f4e4681 add more comments 2018-08-04 11:12:06 +08:00
Andy Pan 4927155de3 fixed issue #6 2018-08-03 21:15:11 +08:00
Andy Pan 1444008b67 rename methods 2018-08-03 19:28:46 +08:00
andy pan 39951bd2f5 format codes 2018-07-31 11:05:48 +08:00
andy pan 59ad1fa56c optimization for structure 2018-07-31 11:05:05 +08:00
andy pan 042109890a make some methods unexported 2018-07-31 11:03:41 +08:00
barryz 83042d7095 pre-allocate the capacity of the worker list 2018-07-25 22:28:11 +08:00
Andy Pan 634682856f Merge branch 'develop' 2018-07-24 22:30:37 +08:00
Andy Pan a326530368 rename the monitorAndClear function 2018-07-21 18:50:18 +08:00
Andy Pan 4553a7a1c6 update codecov test 2018-07-16 02:43:38 +08:00
Andy Pan d31b2413c6 update 2018-07-16 02:33:43 +08:00
Andy Pan eaf79d239f fixed some issues 2018-07-16 01:21:23 +08:00
Andy Pan 9b4f9c7b48 update codecov test 2018-07-15 22:45:55 +08:00
Andy Pan 74e49c9f28 fixed race issue 2018-07-15 21:16:27 +08:00
Andy Pan 4d0682d342 fixed race issue 2018-07-15 21:09:59 +08:00
Andy Pan d77f01cf9a optimization for GC 2018-07-15 00:57:32 +08:00
Andy Pan 813cc218fe simplify and optimize goroutine-worker 2018-07-15 00:52:27 +08:00
Andy Pan c4a50a1867 optimization for pool 2018-07-13 00:11:42 +08:00
Andy Pan 5aa4fd3b9d update 2018-07-08 10:38:40 +08:00
Andy Pan 2e7d823141 optimization for timed task to clear idle workers 2018-07-08 10:29:12 +08:00
Andy Pan b1e4d22aea optimization for codes 2018-07-06 20:51:16 +08:00
Andy Pan 9c4ec3fe31 optimization 2018-07-06 20:44:10 +08:00
Andy Pan 6da1112dff gofmt 2018-07-06 20:24:47 +08:00
Andy Pan 339aaa4475 update 2018-07-06 20:20:18 +08:00
andy pan afba560448 format codes 2018-07-06 15:00:30 +08:00
andy pan b21f63142d fixed the "slice bounds out of range" error 2018-07-06 14:56:59 +08:00
andy pan 5ae6239a57 start a goroutine to clear expired workers when init a pool 2018-07-06 14:42:26 +08:00
andy pan 337c644550 add expired time for PoolWithFunc 2018-07-06 14:39:24 +08:00
andy pan e64217c364 optimization for releasing pool 2018-06-22 11:42:05 +08:00
andy pan 8c76e9fa87 Merge branch 'develop' 2018-06-15 11:28:21 +08:00
andy pan affcb8eaf7 Merge branch 'develop' 2018-05-30 12:59:00 +08:00
andy pan d56ebb1a29 finish the ReSize() and Release() methods 2018-05-30 12:57:20 +08:00
Andy Pan 5326374a22 Auto stash before merge of "develop" and "origin/develop" 2018-05-24 23:43:34 +08:00
andy pan ab6390f6d0 optimization 2018-05-24 19:27:54 +08:00
andy pan ff4b7d8a22 update 2018-05-24 18:30:58 +08:00
andy pan 2e3a9a650e update go test 2018-05-23 17:21:39 +08:00
Andy Pan 0453f88168 update 2018-05-23 00:46:43 +08:00
andy pan d606fb79f6 benchmarks updated 2018-05-22 18:00:15 +08:00
andy pan b2ab15fa96 update 2018-05-22 16:20:01 +08:00
Andy Pan 967b0b04e2 optimization 2018-05-22 12:01:00 +08:00
Andy Pan fad443d7d8 add a new type of pool, allowing to create a pool with a function 2018-05-22 11:26:16 +08:00