00:01:59 | * | rynsin quit (Quit: rynsin) |
00:17:23 | * | rynsin joined #nim |
00:18:02 | * | rynsin quit (Client Quit) |
00:21:40 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:36:21 | * | yglukhov joined #nim |
00:40:48 | * | yglukhov quit (Ping timeout: 260 seconds) |
00:43:53 | * | themagician quit () |
00:47:16 | * | chemist69 quit (Ping timeout: 258 seconds) |
00:47:42 | * | cheatfate quit (Read error: Connection reset by peer) |
00:48:43 | * | cheatfate joined #nim |
01:05:09 | * | SianaGea1z quit (Ping timeout: 248 seconds) |
01:11:01 | * | Sentreen quit (Ping timeout: 248 seconds) |
01:14:17 | * | chemist69 joined #nim |
01:18:55 | * | yglukhov joined #nim |
01:21:40 | * | Sentreen joined #nim |
01:23:39 | * | yglukhov quit (Ping timeout: 260 seconds) |
01:36:17 | * | SianaGearz joined #nim |
01:52:36 | * | libman quit (Remote host closed the connection) |
01:53:09 | * | ibk joined #nim |
01:55:01 | * | Varriount|Mobile joined #nim |
01:55:12 | Varriount|Mobile | vktec: Yes |
01:55:43 | Varriount|Mobile | However procedures defined for B can't be used for A |
01:55:46 | * | Varriount|Mobile quit (Client Quit) |
02:01:22 | * | yglukhov joined #nim |
02:05:37 | * | yglukhov quit (Ping timeout: 240 seconds) |
02:13:54 | * | brechtm_ quit (Read error: Connection reset by peer) |
02:14:32 | * | brechtm joined #nim |
02:17:12 | * | boop quit (Ping timeout: 265 seconds) |
02:17:37 | * | boop joined #nim |
02:21:34 | * | bjz quit (Ping timeout: 244 seconds) |
02:22:08 | * | bjz joined #nim |
02:43:41 | * | yglukhov joined #nim |
02:45:03 | * | myp joined #nim |
02:47:58 | * | yglukhov quit (Ping timeout: 245 seconds) |
03:00:37 | * | chemist69 quit (Ping timeout: 260 seconds) |
03:03:34 | * | couven92 quit (Quit: Client disconnecting) |
03:14:18 | * | chemist69 joined #nim |
03:19:39 | * | bjz_ joined #nim |
03:20:49 | * | bjz quit (Ping timeout: 268 seconds) |
03:26:02 | * | yglukhov joined #nim |
03:30:24 | * | yglukhov quit (Ping timeout: 246 seconds) |
03:34:08 | * | vlad1777d quit (Remote host closed the connection) |
03:39:24 | * | byte512 quit (Ping timeout: 250 seconds) |
03:40:50 | * | brson quit (Quit: leaving) |
03:43:07 | FromGitter | <ftmamud_twitter> Hello everyone! :smile: |
03:52:30 | * | krux02 quit (Remote host closed the connection) |
04:08:22 | * | yglukhov joined #nim |
04:09:15 | * | rynsin joined #nim |
04:12:04 | * | rynsin_ joined #nim |
04:12:04 | * | rynsin_ quit (Client Quit) |
04:12:18 | * | rynsin quit (Read error: Connection reset by peer) |
04:13:02 | * | yglukhov quit (Ping timeout: 250 seconds) |
05:03:30 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
05:03:58 | * | space-wizard joined #nim |
05:04:15 | * | space-wizard quit (Client Quit) |
05:04:43 | * | space-wizard joined #nim |
05:05:03 | * | space-wizard quit (Client Quit) |
05:05:32 | * | space-wizard joined #nim |
05:05:51 | * | space-wizard quit (Client Quit) |
05:06:20 | * | space-wizard joined #nim |
05:06:39 | * | space-wizard quit (Client Quit) |
05:07:08 | * | space-wizard joined #nim |
05:07:27 | * | space-wizard quit (Client Quit) |
05:07:59 | * | space-wizard joined #nim |
05:08:15 | * | space-wizard quit (Client Quit) |
05:08:18 | * | rynsin joined #nim |
05:08:48 | * | space-wizard joined #nim |
05:09:03 | * | rynsin quit (Client Quit) |
05:09:03 | * | space-wizard quit (Client Quit) |
05:56:26 | * | nsf joined #nim |
06:08:34 | * | rynsin joined #nim |
06:15:42 | * | yglukhov joined #nim |
06:20:10 | * | yglukhov quit (Ping timeout: 250 seconds) |
06:30:10 | * | rynsin quit (Quit: rynsin) |
06:35:41 | * | vendethiel quit (Ping timeout: 268 seconds) |
06:35:54 | * | vendethiel joined #nim |
06:49:36 | * | Guest80905 is now known as wuehlmaus |
06:57:43 | * | yglukhov joined #nim |
07:00:37 | * | myp quit (Ping timeout: 240 seconds) |
07:01:06 | FromGitter | <vegansk> What's wrong with dash in the module's name? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=58411c3216207f7b0ed1d2b0] |
07:02:02 | * | yglukhov quit (Ping timeout: 250 seconds) |
07:02:30 | * | myp joined #nim |
07:26:04 | * | rokups joined #nim |
07:40:13 | * | yglukhov joined #nim |
07:44:30 | * | yglukhov quit (Ping timeout: 250 seconds) |
08:00:19 | * | Arrrr joined #nim |
08:11:53 | * | vendethiel quit (Ping timeout: 268 seconds) |
08:13:05 | * | vendethiel joined #nim |
08:13:57 | Arrrr | I guess there isn't a way to import several modules from the same folder at the same time, isnt it? Like "import tests/[Test1,Test2]" or something ugly like that |
08:18:07 | ibk | Hi all, is there a kind of todo list in http(client, server, anything related) modules? I can't promise anything, but i will contribute if i can, my company has interests on it, and i can see that it still lack of many features |
08:22:36 | Arrrr | https://github.com/nim-lang/Nim/issues?q=is%3Aopen+is%3Aissue+label%3Aasync |
08:33:28 | * | vendethiel quit (Ping timeout: 256 seconds) |
08:44:54 | * | brechtm_ joined #nim |
08:48:16 | * | brechtm quit (Ping timeout: 268 seconds) |
08:53:44 | * | Andris_zbx joined #nim |
09:31:41 | * | yglukhov joined #nim |
09:32:01 | * | yglukhov quit (Read error: Connection reset by peer) |
09:35:03 | * | cheatfate_ joined #nim |
09:37:57 | * | cheatfate quit (Ping timeout: 240 seconds) |
09:38:08 | * | BlaXpirit_ joined #nim |
09:38:15 | * | nim-buildbot quit (Ping timeout: 246 seconds) |
09:38:18 | * | vlad1777d joined #nim |
09:38:23 | * | BlaXpirit quit (Ping timeout: 245 seconds) |
09:38:44 | * | BlaXpirit_ is now known as BlaXpirit |
09:46:51 | * | vlad1777d quit (Remote host closed the connection) |
10:29:05 | * | arnetheduck joined #nim |
10:58:58 | * | themagician joined #nim |
11:12:05 | * | vlad1777d joined #nim |
11:18:51 | * | kier quit (Remote host closed the connection) |
11:23:13 | * | dmi0 quit (Ping timeout: 260 seconds) |
11:23:58 | * | yglukhov joined #nim |
11:28:41 | * | yglukhov quit (Ping timeout: 265 seconds) |
11:47:48 | * | yglukhov joined #nim |
11:50:56 | * | elrood joined #nim |
11:51:44 | * | nsf quit (Quit: WeeChat 1.6) |
11:56:56 | vktec | <vktec> If I do type A = B, can I use procs defined for B on A? |
11:56:56 | vktec | <Varriount|Mobile> vktec: Yes |
11:56:56 | vktec | <Varriount|Mobile> However procedures defined for B can't be used for A |
11:57:09 | vktec | Ummm... so can they or can't they? 0_o |
11:58:47 | * | shodan45 quit (Ping timeout: 260 seconds) |
12:00:35 | vktec | From playing around, it seems they can't, so I guess I should type A = ref B and then deref? |
12:03:22 | * | byte512 joined #nim |
12:14:10 | * | myp quit (Read error: Connection reset by peer) |
12:14:23 | flyx | vktec: if you want procs that work on A, why don't you just define them for A? |
12:15:29 | flyx | vktec: ah wait, your naming is confusing. B ist the base type, A is the new type |
12:15:54 | federico3 | Nim benchmarks https://github.com/costajob/app-servers |
12:16:03 | flyx | I guess what Varriount wanted to say is that you cannot use procs defined for A on B |
12:19:05 | * | dmi0 joined #nim |
12:19:32 | * | myp joined #nim |
12:19:39 | vktec | Ah, okay |
12:23:50 | * | kier joined #nim |
12:30:02 | * | couven92 joined #nim |
13:01:29 | * | azur_kind joined #nim |
13:52:12 | * | brechtm joined #nim |
13:55:00 | * | brechtm_ quit (Ping timeout: 250 seconds) |
13:58:33 | * | Arrrr quit (Ping timeout: 244 seconds) |
14:01:58 | * | Arrrr joined #nim |
14:20:17 | * | brechtm quit (Ping timeout: 240 seconds) |
14:28:06 | * | brechtm joined #nim |
14:28:32 | * | wuehlmaus quit (Ping timeout: 250 seconds) |
14:32:06 | yglukhov | Araq: hi, where does --genMapping put the mapping? |
14:58:14 | * | wuehlmaus joined #nim |
14:58:38 | * | wuehlmaus is now known as Guest46490 |
15:34:29 | vktec | Hmmm... I'm getting 'Error: module names need to be unique per Nimble package' and I'm curious as to why this is. Surely modules under different subdirectories can have the same name? |
15:37:08 | * | Guest46490 quit (Ping timeout: 245 seconds) |
15:43:12 | vktec | Is there any way to forward all symbols in an imported module? I've tried `export foo` and `export foo.*` but neither seem to work as expected |
15:57:56 | Araq | vktec: Nim wants package.module.symbol to be universally unique |
15:58:08 | vktec | Ah, okay |
15:58:56 | * | shodan45 joined #nim |
15:58:58 | vktec | So it's not package.subdir.module.symbol? |
16:00:08 | Araq | no it's not, and 'subdir' is hard to recover, you could have it in your --path |
16:00:13 | Araq | yglukhov: I don't know :-) |
16:00:36 | Araq | in fact, that's reason number 2. same module names are simply confusing |
16:00:53 | vktec | Araq: Fair enough. I guess I'm familiar with the Python way of doing things :) |
16:02:36 | Araq | Arrrr: you could write a macro that does that, but I agree with a syntax for this |
16:04:37 | vktec | Araq: Is there something like `from foo export nil` (ie. the opposite of `from foo import nil`)? |
16:06:35 | * | wuehlmaus joined #nim |
16:06:52 | Araq | what does that mean? |
16:06:58 | * | wuehlmaus is now known as Guest94556 |
16:07:00 | Araq | to export nothing, don't write an export :P |
16:07:19 | vktec | Well from foo import nil imports all symbols, enforcing full qualification, right? |
16:07:29 | vktec | I'd like to export all symbols from a module |
16:12:50 | * | gangstacat quit (Quit: Ĝis) |
16:15:55 | * | cheatfate_ is now known as cheatfate |
16:17:41 | * | gangstacat joined #nim |
16:29:21 | * | chemist69 quit (Ping timeout: 260 seconds) |
16:29:27 | * | Trustable joined #nim |
16:33:55 | * | chemist69 joined #nim |
16:37:39 | * | Andris_zbx quit (Remote host closed the connection) |
16:44:17 | * | Arrrr quit (Quit: WeeChat 1.5) |
16:47:22 | dom96 | vktec: module-with-dashes doesn't work because `-` is an operator in Nim, |
16:47:38 | dom96 | and the operator does not require spaces around it |
16:47:59 | vktec | dom96: Umm... wrong person :P |
16:48:15 | dom96 | oh, sorry, *vegansk |
16:48:19 | * | vktec redirects to @vegansk |
16:48:46 | dom96 | as for your question around type A = B, I don't think Varriount's answer is correct unless I'm misunderstanding |
16:48:50 | dom96 | That is simply an alias |
16:49:08 | dom96 | so proc foo(x: A) is the same as proc foo(x: B) |
16:49:59 | vktec | Okay, cool |
16:50:20 | vktec | What about reexporting all symbols in a module? |
16:50:42 | dom96 | federico3: Regarding the benchmarks, I'm actually impressed by asynchttpserver's performance. |
16:51:11 | vktec | brb, rebooting to try and fix my browser D: |
16:51:14 | dom96 | vktec: don't think there is a way to do that. |
16:51:26 | vktec | Oh, that's a shame |
16:51:35 | vktec | I guess I'll have to do it manually then :-/ |
16:52:10 | dom96 | It's better to use the asterisk |
16:52:16 | dom96 | For everything that you want to import |
16:52:29 | dom96 | That way you can easily make something private |
16:52:29 | federico3 | dom96: the threaded vs unthreaded comparison was a bit unfair |
16:52:46 | dom96 | federico3: indeed. In addition, Crystal appears to be using libevent |
16:52:57 | dom96 | I'm curious how Nim will perform on this https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/ |
16:53:13 | dom96 | I might port their benchmark to Nim tonight |
16:53:26 | federico3 | please do ;) |
16:53:44 | * | shodan45 quit (Quit: Konversation terminated!) |
16:55:08 | vktec | dom96: Oh, I may have been unclear. Say I have modules A, B and C. Module A imports module B, which then imports module C. I want module A to be able to access all symbols in module C, without explicitly importing it |
16:55:50 | Xe | dom96: i've been wondering about making nim's runtime output data compatible with the go profiling tools |
16:56:17 | dom96 | Xe: That would be awesome, do you think it's easily do-able? |
16:56:50 | Xe | dom96: i haven't been able to find out much about how the nim runtime profiling stuff works |
16:56:55 | * | nsf joined #nim |
16:58:40 | dom96 | Xe: Afraid I can't help much here, except suggest that you look at the nimprof module. |
17:11:04 | dom96 | Damn, somebody beat me to it! http://forum.nim-lang.org/t/2646 |
17:11:14 | dom96 | Not that I'm complaining :) |
17:12:53 | * | yglukhov_ joined #nim |
17:13:16 | * | rokups quit (Quit: Connection closed for inactivity) |
17:16:03 | * | yglukhov quit (Ping timeout: 246 seconds) |
17:17:39 | * | yglukhov_ quit (Ping timeout: 265 seconds) |
17:23:29 | * | azur_kind quit (Remote host closed the connection) |
17:28:51 | jh32 | hi |
17:29:24 | vktec | Hi |
17:30:04 | jh32 | i still get errors sometimes with parallelBuild on DragonFlyBSD it is supposed to be fixed some time ago for FreeBSD. Is anyone else getting linker errors (files missing)? |
17:30:37 | jh32 | and then if you check manually the object files are there |
17:46:40 | jh32 | it's no big deal i'm mostly annoyed that i can't find out what's going on... |
17:50:44 | dom96 | cheatfate: do you know anything about jh32's issues? |
17:50:50 | * | space-wizard joined #nim |
17:51:23 | * | libman joined #nim |
17:52:14 | * | brechtm_ joined #nim |
17:54:12 | * | nsf quit (Quit: WeeChat 1.6) |
17:55:15 | * | brechtm quit (Ping timeout: 246 seconds) |
17:55:23 | cheatfate | dom96, nope |
17:55:47 | cheatfate | but i'm not using parallelBuild - even dont know what it is |
18:00:00 | * | Matthias247 joined #nim |
18:03:26 | * | yglukhov joined #nim |
18:08:05 | * | yglukhov quit (Ping timeout: 248 seconds) |
18:10:54 | Araq | cheatfate: you do use it, it's the default |
18:11:41 | Araq | https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes # when somebody comes up with how big Nim is because of pragmas, show him this |
18:11:41 | cheatfate | then, i have no any problems on freebsd |
18:11:58 | Araq | is DragonFlyBSD still alive? |
18:12:03 | Araq | I thought it was dead. |
18:14:56 | Araq | hmm I need __declspec(selectany) for Gnu C and LLVM |
18:14:59 | Araq | any ideas? |
18:20:47 | * | Trustable quit (Remote host closed the connection) |
18:25:20 | elrood | Araq, probably __attribute__((weak)) |
18:26:36 | * | yglukhov joined #nim |
18:28:25 | * | brechtm_ quit (Remote host closed the connection) |
18:30:27 | jh32 | Araq: it's pretty alive - small but very nice community |
18:31:27 | jh32 | cheatfate: good to know it works on freebsd |
18:32:02 | elrood | Araq, clang might directly support __declspec with -fms-extensions. gcc in theory should too, but the implementation is a little sketchy, afaik |
18:33:26 | cheatfate | jh32, what is default c compiler for dragon? gcc or clang? if gcc - what version? |
18:34:42 | jh32 | cheatfate: in nim dragonfly is just mapped to freebsd - it's using clang here |
18:35:55 | cheatfate | dragonfly support clang? |
18:36:27 | Araq | elrood: well if I read the docs correctly it's only available on Windows |
18:38:15 | jh32 | cheatfate: yes, it's even in base but i use the ports version - i could play with different compilers to see if it makes a difference |
18:38:48 | cheatfate | jh32, so with all compilers you got a problem? could you gist it? |
18:43:04 | * | rolha joined #nim |
18:44:08 | jh32 | cheatfate: i will check it - so far i only tested with clang 3.8.1 |
18:46:56 | * | yglukhov quit (Remote host closed the connection) |
18:47:11 | elrood | Araq, it being ms-extensions? i don't think so, but since i'm not sure about the backend implementation and implications, can't test now and don't know any better i'd say it's possible. all i can confidently say is that a snippet with __declspec compiles with -fms-extensions on linux |
18:48:49 | * | Senketsu joined #nim |
18:50:34 | jh32 | cheatfate: hm, no problem with gcc so far, but it could be that it's just not hitting the race due to different timing |
18:50:53 | * | yglukhov joined #nim |
18:51:22 | elrood | Araq, with clang, that is. gcc complains |
18:54:00 | Araq | elrood: ah, ok. |
18:54:19 | Araq | so gcc doesn't really support it, gotcha. |
19:01:06 | * | rolha quit (Remote host closed the connection) |
19:01:09 | * | yglukhov quit () |
19:01:42 | * | rolha joined #nim |
19:02:59 | * | [ui] joined #nim |
19:04:04 | * | nsf joined #nim |
19:12:29 | * | yglukhov joined #nim |
19:19:29 | * | yglukhov quit (Remote host closed the connection) |
19:23:45 | * | nsf quit (Quit: WeeChat 1.6) |
19:26:47 | * | yglukhov joined #nim |
19:32:41 | * | dddddd joined #nim |
19:34:01 | * | ibk quit (Remote host closed the connection) |
19:34:01 | * | subsetpark quit (Remote host closed the connection) |
19:34:01 | * | [ui] quit (Remote host closed the connection) |
19:34:02 | * | zielmicha_ quit (Remote host closed the connection) |
19:34:02 | * | NhanH quit (Remote host closed the connection) |
19:34:02 | * | r4vi quit (Remote host closed the connection) |
19:34:35 | * | dmi0 quit (Quit: ~) |
19:35:58 | * | yglukhov quit (Remote host closed the connection) |
19:38:18 | * | Matthias247 quit (Quit: Matthias247) |
19:40:57 | * | NhanH joined #nim |
19:42:22 | * | yglukhov joined #nim |
19:46:26 | * | [ui] joined #nim |
19:47:26 | * | zielmicha_ joined #nim |
20:04:27 | dom96 | well, I wasn't able to get below 10ms without cheating |
20:04:35 | dom96 | (10ms max pause time) |
20:04:43 | dom96 | http://forum.nim-lang.org/t/2646 |
20:04:55 | dom96 | So Go beats us by 2ms |
20:05:10 | dom96 | Just imagine how much we could accomplish if we had Google behind us ;) |
20:06:53 | * | subsetpark joined #nim |
20:12:10 | * | Trustable joined #nim |
20:18:18 | * | rolha quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
20:19:19 | * | r4vi joined #nim |
20:20:10 | * | ibk joined #nim |
20:27:48 | Araq | what? 10ms? in my compiler tests I got it to 1ms pause times, or 0.5ms |
20:30:45 | Araq | "On my machine the typical worst push time is 10ms, both for my version of the code and yours." |
20:30:50 | Araq | what does that even mean? |
20:31:20 | dom96 | Araq: Which part do you not understand? |
20:31:23 | dom96 | Try running the code |
20:32:03 | Araq | because 10ms is the worst time you use the worst case all the time? |
20:32:36 | * | Araq sighs. |
20:33:11 | Araq | this code is ridiculous to tune for Nim, I bet I can get it to 0.01ms |
20:33:53 | Araq | ah, I misread the code :P |
20:34:01 | Araq | but still. let me give it a shot. |
20:34:41 | dom96 | please do |
20:39:13 | * | Matthias247 joined #nim |
20:41:52 | Araq | .\gc_latency.exe |
20:41:54 | Araq | Worst push time: 0.50ms |
20:42:58 | * | nsf joined #nim |
20:43:01 | Araq | cannot get it lower since epochTime()'s resolution sucks |
20:43:46 | Araq | maybe def-'s benchmarking module helps here? |
20:50:19 | * | rolha joined #nim |
20:52:32 | dom96 | how did you get it that low? |
20:52:54 | Araq | wasn't hard. I just followed my own docs. |
20:53:43 | Araq | now I'm using better timing to more accurate results |
20:55:23 | Araq | interestingly the value I pass to GC_step hardly matters |
20:55:43 | Araq | it's at 0.5ms with your value of 10_000 too. |
20:56:33 | Araq | but I think I can get it down to 0.1ms with some tuning |
20:56:51 | dom96 | well, can you enlighten me? :P |
20:56:57 | dom96 | I followed your docs too |
20:57:08 | dom96 | Seems they need improvement if I can't get it working |
20:57:12 | Xe | i'd be curious as to how you got those numbers too |
20:57:52 | Araq | I need to run this code on a slower CPU. |
20:58:23 | Xe | Araq: i have a few low powered atoms and a core m7 laying around as well as a few arm boards, how slow do you want? |
20:59:42 | Xe | also: what OS are you testing those on, i'd be curious to see if that matters much |
20:59:43 | Araq | the art of benchmarking lies in convincing your readers that your setup is actually realistic. |
21:00:45 | * | rolha quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
21:02:26 | Araq | hmm nano seconds into ms -- divide by 1 million, right? |
21:03:30 | Xe | yeah |
21:03:30 | dom96 | Araq: can you pleaseeee tell me how you got it that fast? |
21:03:34 | Araq | hmm I cannot measure this latency. |
21:04:56 | Araq | Worst push time: 22994 nano seconds |
21:06:35 | Araq | will write it on the forum for you guys to try |
21:15:38 | Araq | http://forum.nim-lang.org/t/2646/1#16347 |
21:15:55 | jh32 | found it. running() is setting p.exitStatus without checking return value of waitpid() - i'll make a PR |
21:19:04 | Araq | jh32: nice! :-) |
21:20:16 | dom96 | Araq: the import "lib..." line should use "$lib" |
21:20:27 | dom96 | Doesn't compile for me |
21:20:35 | dom96 | jh32: Thanks for investigating! |
21:20:55 | Araq | yeah, somebody should have made a stdlib out of it |
21:21:12 | Araq | I'm running it on my mac book now to see if I can get somewhat similar values at all |
21:21:27 | dom96 | Araq: I just ran it: 1272989 ns |
21:21:35 | dom96 | i.e. 1.2ms |
21:21:51 | Araq | Xe to answer your question. got the result on Win 10 |
21:22:00 | Araq | bah. that's bad. |
21:23:09 | dom96 | not too bad :) |
21:29:05 | dom96 | You should test the Go version on your machine |
21:29:21 | Araq | you must not run via 'nim c -r' |
21:29:27 | Araq | start the process separately. |
21:29:42 | Araq | then I get times around 0.6ms |
21:29:42 | dom96 | I did |
21:29:51 | Araq | oh? |
21:30:51 | * | libman quit (Quit: Leaving.) |
21:31:05 | * | libman joined #nim |
21:31:14 | Araq | well the benchmark is unclear about WCET |
21:31:39 | Araq | "latency", does that mean "hard realtime"? |
21:34:01 | dom96 | WCET? |
21:34:05 | * | Trustable quit (Remote host closed the connection) |
21:34:15 | Araq | "worst case executing times" |
21:34:28 | Araq | *execution |
21:36:15 | Xe | Worst push time: 1237000nano seconds |
21:38:52 | Araq | so 1.2ms |
21:39:02 | Araq | seems pretty consistent then. |
21:41:43 | dom96 | it spikes to 9ms sometimes |
21:42:43 | * | Salewski joined #nim |
21:43:54 | Salewski | Worst push time: 130000nano seconds # that is the largest value I can get on Linux, average is about halve that value. |
21:45:57 | Araq | got 168850 nano seconds here |
21:45:58 | Salewski | It is for the tiny Intel NUC box NUC6i7KYK |
21:46:13 | Araq | on OSX, but pretty much an outlier |
21:46:50 | Araq | Salewski: that's more what I would have expected :-) |
21:47:17 | Araq | maybe osx is just shitty at scheduling |
21:47:29 | Araq | can we take the minimum? |
21:47:40 | Araq | then a single super low result gets the mark |
21:50:09 | Araq | anybody running a realtime OS? |
21:50:32 | dom96 | Definitely worth converting it to ms |
21:50:50 | dom96 | Easier to see how fast it is |
21:51:14 | dom96 | For me, 1.199 is the lowest |
21:51:47 | Araq | can we ensure we don't measure the context switches? |
21:52:37 | * | chemist69 quit (Ping timeout: 240 seconds) |
21:53:34 | Salewski | Got a few times: Worst push time: 43000nano seconds # which is 43us or 0.043ms |
21:54:07 | dom96 | I just got 0.153ms randomly |
21:54:21 | dom96 | the variance is quite large |
21:55:27 | * | chemist69 joined #nim |
21:56:17 | * | [ui] quit (Quit: Connection closed for inactivity) |
21:57:02 | * | libman quit (Remote host closed the connection) |
22:02:43 | * | ryanhowe joined #nim |
22:09:26 | Araq | dom96: ok, I'm sure we get >1ms due to a context switch |
22:09:45 | Araq | since it stresses the CPU enough, we usually get a context switch |
22:09:59 | Araq | but rarely we get none and then we get the much better times |
22:10:13 | Araq | can't think of any different explanation. |
22:10:38 | Araq | maybe we should use cpuTime() ? |
22:27:17 | dom96 | perhaps |
22:27:37 | dom96 | best to stick with the other benchmarks though |
22:27:51 | dom96 | the go one uses real time |
22:27:57 | dom96 | *Golang |
22:30:02 | * | ibk quit (Quit: Connection closed for inactivity) |
22:30:52 | * | elrood quit (Remote host closed the connection) |
22:43:12 | * | ryanhowe quit (Quit: WeeChat 1.4) |
22:45:59 | * | Salewski left #nim (#nim) |
23:03:14 | * | nsf quit (Quit: WeeChat 1.6) |
23:08:31 | * | PMunch joined #nim |
23:09:10 | * | PMunch quit (Client Quit) |
23:09:34 | * | PMunch joined #nim |
23:16:55 | dom96 | This reminds me of the issue in our C sources repo regarding trust http://manishearth.github.io/blog/2016/12/02/reflections-on-rusting-trust/ |
23:46:20 | * | Varriount|Mobile joined #nim |
23:47:02 | * | yglukhov_ joined #nim |
23:47:29 | Varriount|Mobile | dom96: I'm beginning to loathe that "On trusting trust" article. |
23:47:44 | * | yglukhov quit (Read error: Connection reset by peer) |
23:48:27 | Varriount|Mobile | The concerns are valid, but unlikely, especially for Nim |
23:50:28 | Varriount|Mobile | It's far more likely a poisoned binary of some commonly-sudo'd system utility will make its way into the systems package repository. |
23:52:13 | Araq | it's stupid. |
23:52:26 | Araq | do you compile your Linux kernel on a Linux machine? |
23:52:32 | Araq | see the problem? |
23:53:56 | Araq | Linux could have been infected so that when it runs GCC it makes GCC insert a backdoor when compiling Linux |
23:54:16 | PMunch | I think the concern here is that those are an obvious target. Which coincidentally makes them less of a target because the are more scrutinized. Attack a compiler and you might be able to sneak it past while the users of a very secure, critical system might pour over the source code ten times over. |
23:54:33 | PMunch | And it only takes one bad binary |
23:54:41 | Araq | do we now run around and scream Linus should reimplement Linux from scratch in order to prevent this? |
23:54:47 | vktec | Varriount|Mobile: Which article is this? |
23:54:59 | PMunch | http://manishearth.github.io/blog/2016/12/02/reflections-on-rusting-trust/ |
23:55:35 | vktec | Thanks |
23:55:38 | PMunch | It might not be very relevant for Nim but it is certainly a fair concern |
23:56:39 | PMunch | How many people work on the Linux kernel? How many people work on Nim, or Rust, or some strange esoteric language which made a DLL that some program trusts? |
23:57:18 | PMunch | The problem here is more of a problem with open source than anything |
23:57:22 | Araq | it doesn't matter. Linux is built on Linux machines. |
23:57:25 | PMunch | Or rather, trusting anyone |
23:57:29 | Araq | mostly. |
23:57:57 | PMunch | For all we known Windows or OSX could compile it into their kernels as well |
23:58:17 | Varriount|Mobile | PMunch: Don't forget hardware |
23:58:57 | * | themagician quit () |
23:59:47 | PMunch | NSA shifting some money around and all off a sudden the Windows, OSX or Linux kernel has something shifty in it. Only difference with OS like Linux is that you can actually see the sources so it's slightly easier to spot if you are looking |