Simon Cruanes
40c05cc7e3
wip: feat(pool): keep one idle thread
...
see #360 ; in combination with max_size=1 it means the pool contains
exactly one thread.
2021-03-28 18:15:45 -04:00
Simon Cruanes
8982f87ca7
perf: small optim in Pool.sequence_a
2021-03-28 18:15:45 -04:00
Simon Cruanes
dd1cf2a046
perf(pool): try to inline with_lock
2021-03-28 18:15:45 -04:00
Simon Cruanes
12ac1de588
be nicer to mac OS' lazy scheduler in tests
2020-12-22 10:45:43 -05:00
Simon Cruanes
089a1bec16
try to fix tests that fail on mac OS
2020-07-31 15:29:49 -04:00
Simon Cruanes
8a60d44946
ci: try to test on mac OS again, amend tests, make mdx optional
2020-07-30 19:12:49 -04:00
Simon Cruanes
39e0ad2395
fix(pool): missing emptiness check in Fut.map_l
...
also add regression test
2020-07-28 16:27:23 -04:00
Simon Cruanes
54099f10d5
test: regression test for stack overflow in CCpool
2020-05-24 19:12:04 -04:00
Simon Cruanes
a767e4618d
wip(3.0): remove deprecated functions, in particular sequence
2020-04-24 20:16:53 -04:00
Simon Cruanes
a2d07e4028
chore: update tests to accomodate for split into several libs
2020-04-24 19:27:06 -04:00
Simon Cruanes
5126973173
prepare for 2.8
2019-12-14 17:50:35 -06:00
Simon Cruanes
52ef092a4c
feat(pool): add infix operators on futures
2019-12-14 14:37:30 -06:00
Simon Cruanes
7bdf6f6cef
test: use more deterministic test for timer
2019-11-12 10:17:50 -06:00
Simon Cruanes
96ed8a37ab
feat: introduce shim modules for 4.08 compat
...
- also make `unlabel` an explicit operation
- use `Stdlib` instead of `Pervasives`
- remove some warnings in Format
2019-06-14 18:26:14 -05:00
Simon Cruanes
3712db3a5b
chore: use iter, not sequence, in tests
2019-04-13 03:20:56 -05:00
Simon Cruanes
3b1de9a1c8
chore(build): migrate to dune 1.0
2018-09-16 19:53:40 -05:00
Simon Cruanes
f7d5177540
chore(doc): update ocamldoc markup to remove odoc warnings
2018-03-30 01:49:38 -05:00
JPR
d18d9fb636
Comments - Style & typos fixing
2018-03-15 23:09:31 -05:00
Simon Cruanes
bc27e60a81
reindent
2018-01-21 14:39:44 -06:00
nathan moreau
cde776f4ac
Small typos
2018-01-21 20:29:51 +01:00
Simon Cruanes
282f85a874
remove PARAM.min_size in CCPool
2018-01-17 20:12:50 -06:00
Simon Cruanes
0e26502008
wip: fix behavior of CCPool when min_size>0
...
problem is a deadlock occurs when some threads die (too early?)
when P.min_size>0
2018-01-17 20:11:14 -06:00
Simon Cruanes
d97e1e7231
add script to generate jbuilder flags dynamically
2018-01-14 20:38:40 -06:00
Simon Cruanes
a307bb09f7
chore(jbuild): missing flag for optional sublibs, deps
2018-01-14 19:24:46 -06:00
Simon Cruanes
8f46fdb6d2
move to jbuilder ( closes #165 )
2018-01-14 17:43:56 -06:00
Jacques-Pascal Deplaix
6d2063ded4
Internally shadow polymorphic operators and functions from Pervasives
2018-01-14 23:32:13 +00:00
Simon Cruanes
c792d70ac7
assertions and cleanup in CCPool
2017-09-13 18:39:14 +02:00
Simon Cruanes
923e83b0fc
make tests faster
2017-03-16 10:27:00 +01:00
Simon Cruanes
b06ae52071
new test for CCPool
2017-02-22 13:48:13 +01:00
Simon Cruanes
126bb2f3f2
test for #94 (using Thread.yield to trigger segfault)
2017-01-26 23:49:59 +01:00
Simon Cruanes
61f1ca3231
update a test
2017-01-26 14:20:24 +01:00
Simon Cruanes
9a46b4527c
reindent in containers.thread
2017-01-25 00:24:14 +01:00
Marcello Seri
59208fd9c6
Fix with_acquire: release a non locked mutex is UB
...
This is segfaulting (on ubuntu 16.04 and 16.10) when trying to release the unlocked mutex in the release stage (in general this is an undefined behavior).
2017-01-25 00:15:45 +01:00
Simon Cruanes
e8cd571005
prepare 0.22
2016-12-18 01:32:52 +01:00
David Sheets
35859508c0
threads/CCLock: add try_with_lock to wrap Mutex.try_lock
2016-12-16 18:58:04 +00:00
Simon Cruanes
6ccad958c4
make some tests a bit faster
2016-03-26 11:53:58 +01:00
Simon Cruanes
a2179d4355
prepare for 0.16
2016-02-24 22:08:26 +01:00
Simon Cruanes
663a3cd693
introduce a min_size in CCPool, to keep threads alive
...
- in benchs, keep `min_size=0` for resource management (need to spawn
lots of threads)
2016-01-26 02:14:35 +01:00
Simon Cruanes
b0c59e036b
add appliative instance in CCPool, factor code
2016-01-26 01:33:24 +01:00
Simon Cruanes
067e89b1fe
add CCLock.{decr_then_get, get_then_{decr,set,clear}}
...
atomic updates for integers and bools
2016-01-26 01:04:43 +01:00
Simon Cruanes
ec70f865e4
rename CCFuture into CCPool, expose the thread pool
2016-01-26 01:04:43 +01:00
Simon Cruanes
6b03a28cba
split CCTimer out of CCFuture, a standalone 1-thread timer
2016-01-26 01:04:43 +01:00
Simon Cruanes
9097cb11ab
move CCThread.Queue into CCBlockingQueue
...
- fix the module
- fix benchs
2016-01-26 01:04:33 +01:00
Simon Cruanes
7d8369ab83
small refactor
2016-01-25 18:29:06 +01:00
Simon Cruanes
f53b19545c
udpate implem of CCFuture
2016-01-25 17:40:27 +01:00
Simon Cruanes
40c38a5dab
add CCThread.spawn{1,2}
2016-01-25 17:16:58 +01:00
Simon Cruanes
49991717c1
add CCLock.update_map
2016-01-25 15:13:12 +01:00
Simon Cruanes
483f90cb52
small fixes in CCSemaphore
2016-01-25 14:26:30 +01:00
Simon Cruanes
d3464563c1
add CCLock.{incr_then_get,get_then_incr}
2016-01-25 14:22:50 +01:00
Fourchaux
44387de784
Correction typos (fichiers src)
2015-11-08 22:27:59 +01:00