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 PMcamdenorrb
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 PMoctylFractal
08/24/2020, 7:11 PMcamdenorrb
08/24/2020, 7:12 PMMiSikora
08/24/2020, 7:12 PMIO
though and not Default
?octylFractal
08/24/2020, 7:14 PMoctylFractal
08/24/2020, 7:15 PMmalloc
call eitheroctylFractal
08/24/2020, 7:15 PMoctylFractal
08/24/2020, 7:23 PM-1799201921
Time to normal allocate: 421ms
-334956506
Time to direct allocate: 213ms
-1950301415
Time to direct allocate on IO: 394ms
octylFractal
08/24/2020, 7:24 PM-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 PMcamdenorrb
08/24/2020, 7:25 PMoctylFractal
08/24/2020, 7:25 PMoctylFractal
08/24/2020, 7:27 PMoctylFractal
08/24/2020, 7:28 PMcamdenorrb
08/24/2020, 7:28 PMcamdenorrb
08/24/2020, 7:29 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 PMcamdenorrb
08/24/2020, 7:49 PMoctylFractal
08/24/2020, 7:50 PMoctylFractal
08/24/2020, 7:51 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)
octylFractal
08/24/2020, 8:05 PMoctylFractal
08/24/2020, 8:05 PMgildor
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 AMcamdenorrb
08/26/2020, 2:03 AMcamdenorrb
08/26/2020, 2:03 AMcamdenorrb
08/26/2020, 2:04 AMcamdenorrb
08/26/2020, 2:06 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 AMcamdenorrb
08/26/2020, 2:17 AMcamdenorrb
08/26/2020, 2:17 AMcamdenorrb
08/26/2020, 2:18 AMcamdenorrb
08/26/2020, 2:21 AMTwoClocks
08/26/2020, 2:21 AMcamdenorrb
08/26/2020, 2:21 AMcamdenorrb
08/26/2020, 2:22 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
camdenorrb
08/26/2020, 2:32 AMAsynchronousSocketChannel
TwoClocks
08/26/2020, 2:35 AMcamdenorrb
08/26/2020, 2:35 AMTwoClocks
08/26/2020, 2:37 AMTwoClocks
08/26/2020, 2:38 AMcamdenorrb
08/26/2020, 2:39 AMcamdenorrb
08/26/2020, 2:39 AMTwoClocks
08/26/2020, 2:41 AMTwoClocks
08/26/2020, 2:45 AMcamdenorrb
08/26/2020, 2:46 AMTwoClocks
08/26/2020, 2:47 AMcamdenorrb
08/26/2020, 2:48 AMcamdenorrb
08/26/2020, 2:48 AMTwoClocks
08/26/2020, 2:49 AMTwoClocks
08/26/2020, 2:50 AMcamdenorrb
08/26/2020, 2:50 AMcamdenorrb
08/26/2020, 2:50 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 AMcamdenorrb
08/26/2020, 2:54 AMTwoClocks
08/26/2020, 2:54 AMcamdenorrb
08/26/2020, 2:55 AMTwoClocks
08/26/2020, 2:55 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 AMTwoClocks
08/26/2020, 3:00 AMTwoClocks
08/26/2020, 3:01 AMcamdenorrb
08/26/2020, 3:02 AMTwoClocks
08/26/2020, 3:02 AMTwoClocks
08/26/2020, 3:03 AMcamdenorrb
08/26/2020, 3:03 AMTwoClocks
08/26/2020, 3:04 AMTwoClocks
08/26/2020, 3:05 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 AMcamdenorrb
08/26/2020, 3:09 AMTwoClocks
08/26/2020, 3:10 AMcamdenorrb
08/26/2020, 3:10 AMcamdenorrb
08/26/2020, 3:10 AMcamdenorrb
08/26/2020, 3:11 AMTwoClocks
08/26/2020, 3:11 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 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 AMTwoClocks
08/26/2020, 3:18 AMcamdenorrb
08/26/2020, 3:19 AMcamdenorrb
08/26/2020, 3:20 AMcamdenorrb
08/26/2020, 3:20 AMcamdenorrb
08/26/2020, 3:21 AMTwoClocks
08/26/2020, 3:22 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 AMcamdenorrb
08/26/2020, 3:25 AMTwoClocks
08/26/2020, 3:25 AMTwoClocks
08/26/2020, 3:25 AMcamdenorrb
08/26/2020, 3:25 AMcamdenorrb
08/26/2020, 3:26 AMTwoClocks
08/26/2020, 3:26 AMTwoClocks
08/26/2020, 3:27 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 AMcamdenorrb
08/26/2020, 3:31 AMcamdenorrb
08/26/2020, 3:31 AMcamdenorrb
08/26/2020, 3:31 AMTwoClocks
08/26/2020, 3:32 AMcamdenorrb
08/26/2020, 3:33 AMcamdenorrb
08/26/2020, 3:37 AMTwoClocks
08/26/2020, 3:48 AMcamdenorrb
08/26/2020, 3:49 AMTwoClocks
08/26/2020, 3:49 AMTwoClocks
08/26/2020, 3:49 AMcamdenorrb
08/26/2020, 3:50 AM