camdenorrb
08/24/2020, 7:03 PMByteBuffer.allocateDirect(bufferSize)
suspending, would you need to make a threadpool and do callbacks to unsuspend a coroutine or is there a better way?octylFractal
08/24/2020, 7:05 PMallocateDirect
really blocking? I can't see that taking a ton of timecamdenorrb
08/24/2020, 7:05 PMoctylFractal
08/24/2020, 7:06 PMbufferSize
is, but I would not expect it to "block" for a long period of time if it's e.g. 8192camdenorrb
08/24/2020, 7:07 PMoctylFractal
08/24/2020, 7:08 PMmalloc
doesn't have an async variant), so you'd just throw it on <http://Dispatchers.IO|Dispatchers.IO>
camdenorrb
08/24/2020, 7:09 PMExecutors.newFixedThreadPool(max(Runtime.getRuntime().availableProcessors(), 64)).asCoroutineDispatcher()
Would something like this be acceptable as-well instead of Dispatchers.IO.
Also I've heard that allocateDirect is actually a big factor in networking api'soctylFractal
08/24/2020, 7:10 PMcamdenorrb
08/24/2020, 7:11 PMMiSikora
08/24/2020, 7:12 PMIO
though and not Default
?octylFractal
08/24/2020, 7:14 PMmalloc
call either-1799201921
Time to normal allocate: 421ms
-334956506
Time to direct allocate: 213ms
-1950301415
Time to direct allocate on IO: 394ms
-410572713
Time to normal allocate: 2076ms
1549332476
Time to direct allocate: 4274ms
1007409705
Time to direct allocate on IO: 1709ms
camdenorrb
08/24/2020, 7:25 PMoctylFractal
08/24/2020, 7:25 PMcamdenorrb
08/24/2020, 7:28 PMoctylFractal
08/24/2020, 7:29 PMcamdenorrb
08/24/2020, 7:29 PMoctylFractal
08/24/2020, 7:30 PMcamdenorrb
08/24/2020, 7:30 PMoctylFractal
08/24/2020, 7:32 PM265224745
Time to direct allocate: 434ms
1744648169
Time to direct allocate on IO: 1230ms
camdenorrb
08/24/2020, 7:33 PMoctylFractal
08/24/2020, 7:33 PMZach Klippenstein (he/him) [MOD]
08/24/2020, 7:47 PMoctylFractal
08/24/2020, 7:48 PMcamdenorrb
08/24/2020, 7:48 PMoctylFractal
08/24/2020, 7:50 PMcamdenorrb
08/24/2020, 7:55 PMoctylFractal
08/24/2020, 8:04 PMdirect allocate on IO stats: LongSummaryStatistics{count=10, sum=12404, min=1013, average=1240.400000, max=1322} (in ms)
direct allocate stats: LongSummaryStatistics{count=10, sum=11710, min=1008, average=1171.000000, max=1312} (in ms)
gildor
08/24/2020, 11:57 PMTwoClocks
08/26/2020, 2:00 AMcamdenorrb
08/26/2020, 2:00 AMTwoClocks
08/26/2020, 2:02 AMcamdenorrb
08/26/2020, 2:02 AMTwoClocks
08/26/2020, 2:07 AMcamdenorrb
08/26/2020, 2:07 AMTwoClocks
08/26/2020, 2:07 AMcamdenorrb
08/26/2020, 2:07 AMTwoClocks
08/26/2020, 2:10 AMcamdenorrb
08/26/2020, 2:11 AMTwoClocks
08/26/2020, 2:12 AMcamdenorrb
08/26/2020, 2:13 AMTwoClocks
08/26/2020, 2:14 AMcamdenorrb
08/26/2020, 2:14 AMTwoClocks
08/26/2020, 2:16 AMcamdenorrb
08/26/2020, 2:17 AMTwoClocks
08/26/2020, 2:21 AMcamdenorrb
08/26/2020, 2:21 AMTwoClocks
08/26/2020, 2:23 AMcamdenorrb
08/26/2020, 2:23 AMTwoClocks
08/26/2020, 2:25 AMcamdenorrb
08/26/2020, 2:29 AMTwoClocks
08/26/2020, 2:31 AMcamdenorrb
08/26/2020, 2:31 AMTwoClocks
08/26/2020, 2:32 AMcamdenorrb
08/26/2020, 2:32 AMAsynchronousServerSocketChannel
AsynchronousSocketChannel
TwoClocks
08/26/2020, 2:35 AMcamdenorrb
08/26/2020, 2:35 AMTwoClocks
08/26/2020, 2:37 AMcamdenorrb
08/26/2020, 2:39 AMTwoClocks
08/26/2020, 2:41 AMcamdenorrb
08/26/2020, 2:46 AMTwoClocks
08/26/2020, 2:47 AMcamdenorrb
08/26/2020, 2:48 AMTwoClocks
08/26/2020, 2:49 AMcamdenorrb
08/26/2020, 2:50 AMTwoClocks
08/26/2020, 2:52 AMcamdenorrb
08/26/2020, 2:52 AMTwoClocks
08/26/2020, 2:53 AMcamdenorrb
08/26/2020, 2:54 AMTwoClocks
08/26/2020, 2:54 AMcamdenorrb
08/26/2020, 2:54 AMTwoClocks
08/26/2020, 2:55 AMcamdenorrb
08/26/2020, 2:55 AMTwoClocks
08/26/2020, 2:56 AMcamdenorrb
08/26/2020, 2:56 AMTwoClocks
08/26/2020, 2:57 AMcamdenorrb
08/26/2020, 2:58 AMTwoClocks
08/26/2020, 2:58 AMcamdenorrb
08/26/2020, 3:02 AMTwoClocks
08/26/2020, 3:02 AMcamdenorrb
08/26/2020, 3:03 AMTwoClocks
08/26/2020, 3:04 AMcamdenorrb
08/26/2020, 3:05 AMTwoClocks
08/26/2020, 3:06 AMcamdenorrb
08/26/2020, 3:08 AMTwoClocks
08/26/2020, 3:08 AMcamdenorrb
08/26/2020, 3:09 AMTwoClocks
08/26/2020, 3:10 AMcamdenorrb
08/26/2020, 3:10 AMTwoClocks
08/26/2020, 3:11 AMcamdenorrb
08/26/2020, 3:12 AMTwoClocks
08/26/2020, 3:13 AMcamdenorrb
08/26/2020, 3:13 AMTwoClocks
08/26/2020, 3:14 AMcamdenorrb
08/26/2020, 3:14 AMTwoClocks
08/26/2020, 3:15 AMcamdenorrb
08/26/2020, 3:16 AMTwoClocks
08/26/2020, 3:16 AMcamdenorrb
08/26/2020, 3:19 AMTwoClocks
08/26/2020, 3:22 AMcamdenorrb
08/26/2020, 3:23 AMTwoClocks
08/26/2020, 3:23 AMcamdenorrb
08/26/2020, 3:23 AMTwoClocks
08/26/2020, 3:24 AMcamdenorrb
08/26/2020, 3:24 AMTwoClocks
08/26/2020, 3:24 AMcamdenorrb
08/26/2020, 3:24 AMTwoClocks
08/26/2020, 3:25 AMcamdenorrb
08/26/2020, 3:25 AMTwoClocks
08/26/2020, 3:26 AMcamdenorrb
08/26/2020, 3:28 AMTwoClocks
08/26/2020, 3:28 AMcamdenorrb
08/26/2020, 3:29 AMTwoClocks
08/26/2020, 3:30 AMcamdenorrb
08/26/2020, 3:31 AMTwoClocks
08/26/2020, 3:31 AMcamdenorrb
08/26/2020, 3:31 AMTwoClocks
08/26/2020, 3:32 AMcamdenorrb
08/26/2020, 3:33 AMTwoClocks
08/26/2020, 3:48 AMcamdenorrb
08/26/2020, 3:49 AMTwoClocks
08/26/2020, 3:49 AMcamdenorrb
08/26/2020, 3:50 AM