Re: Is --gc:arc completely independent from the older ownership model?

2020-06-17 Thread Araq
> Are these things completely unrelated? They are related, --gc:arc is the evolution of `owned ref`. > So what will happen to ownership? It is outlined here, [https://github.com/nim-lang/RFCs/issues/178](https://github.com/nim-lang/RFCs/issues/178) [https://github.com/nim-lang/RFCs/issues/177

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread timothee
@snej * what is nim -v ? (I'm assuming it's 1.2.2 but please double check) * please post minimum reproducible example, otherwise it's hard to do anything about your problem

Re: Comparisons of Nim to the Chapel computer programming language...

2020-06-17 Thread Brad
Hi @mratsim — > GNU OpenMP shouldn't be used as a comparison for runtime overhead. I think GNU OpenMP can be a reasonable basis of comparison for some computational styles, if not others. That's not to say that it should be treated as the gold standard, but it does have the virtues of being a r

Re: Comparisons of Nim to the Chapel computer programming language...

2020-06-17 Thread Brad
> That said, other than even slower than usual compile times, the actual > Chapel-produced executable files seem to run about the same speed on my > cygwin setup as they do on "tio.run" other than this "fifo" issue. That's a good point. I think most of the overhead associated with Cygwin comes

Re: Nim's popularity

2020-06-17 Thread moerm
"Vala" \- I think that tells us next to nothing. Simple reason: unlike Nim Vala was linked to Gnome, i.e. a major (well, kind of) and well known name. When Mozilla (Rust) burps the planet trembles, when Gnome (Vala) burps, the world notices it ... and when Nim burps (or sings a nice song for tha

Re: Nim's popularity

2020-06-17 Thread sschwarzer
> I don't like popularity, I like what it comes with popularity: more brains, > more libraries, better maintained packages, ... This thread could be titled: > "Nim's ecosystem" or even better "How could Nim's ecosystem be improved". Agreed, I wouldn't go for popularity in itself, but for the imp

Re: How to load dlls created in C++?

2020-06-17 Thread akavel
I have no experience in this, but if nobody else answered yet, I have some supplemental questions for you, that I am thinking maybe can potentially at least make it easier for someone to find the proper solution eventually: * could I kindly ask you to run something like `nm libmecab.dll | grep

Is --gc:arc completely independent from the older ownership model?

2020-06-17 Thread ivankek
Hello, I read about --gc:arc here: [https://forum.nim-lang.org/t/5734](https://forum.nim-lang.org/t/5734) But before that there was an article on introducing ownership, similar to Rust. Are these things completely unrelated? As I understand, --gc:arc will be the way to go right? So what will h

Re: New entry on Nim blog...

2020-06-17 Thread moerm
Dafny is a quite nice and actually useable tool but unfortunately .Net only.

Re: Parallel coding in Nim (as compared to OpenMP/MPI)

2020-06-17 Thread mratsim
Nice username, seems like you love tea ;). Since you're interested in scientific computing, let's pick some examples from there, I will use matrix transposition. You can use OpenMP in Nim, the openMP operator is `||`, it's a bit rough because in the OpenMP section you cannot use seq/strings wit

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread Stefan_Salewski
> use binary size as a rough indicator of optimization That makes not much sense. For gcc -O3 gives generally large but fast executables. Large because gcc unrolls loops and apply SIMD instructions and much more. Have you tested -d:danger ? That option should really give you fastest code and t

Re: Comparisons of Nim to the Chapel computer programming language...

2020-06-17 Thread GordonBGood
@Brad, just a few pertinent points: > That said, in our experience, Cygwin itself also incurs a lot of overhead > relative to a native installation of Chapel, so it's hard to say how much of > the poor performance you observed was due to fifo as opposed to Cygwin > overheads. Cygwin may introd

Re: New entry on Nim blog...

2020-06-17 Thread akavel
In the ["Let's Prove Leftpad" repo](https://github.com/hwayne/lets-prove-leftpad), as a common programmer, I personally found [the Dafny version](https://github.com/hwayne/lets-prove-leftpad/blob/030be930cb4abc91d411646ba3933232e8eeb750/dafny/Leftpad.dfy) to be the only one that looked reasonab

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread snej
> But specifying --opt:size at the same time may be not that good, do you use > -O3 and -Os for gcc at the same time? Most people do not. They're mutually exclusive, so the compiler's going to pick one if both are given. It looks as though the -Os wins since I do see a large reduction in code s

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread snej
I looked at the Compiler User Guide, and it also implies that `-d:release` is sufficient to turn on compiler optimizations. As do your comments above. Weird... Here's my environment: * MacBook Pro, macOS 10.15.5 * Xcode 11.5; `clang --version` reports "Apple clang version 11.0.3 (clang-110

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread juancarlospaco
`--opt:size` can me stuff slower, it changes file size for speed.

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread treeform
I also experienced really bad Table performance which was related to really bad hash generation. Print out the hash(key) and see if you hashes are usually bad.

Re: Nim version 1.2.2 is out!

2020-06-17 Thread treeform
Wow thanks for all of the hard work! I love new new versions.

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread SolitudeSF
-d:danger -d:lto|

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread Stefan_Salewski
> and everything got about 20 times faster. We have never seen such an behaviour before, so it would be great if you could investigate it in more detail. Maybe a strange bug? Did you use gcc10 or clang, or maybe the microsoft or intel compiler as backend? -d:release is fine, -d:danger can be a

Re: Structure of a web project

2020-06-17 Thread federico3
I usually place HTML templates in "templates/.tmpl" See [https://nim-lang.org/docs/filters.html#available-filters-stdtmpl-filter](https://nim-lang.org/docs/filters.html#available-filters-stdtmpl-filter)

Re: Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread snej
Sorry, false alarm! I was misled by the `nim` command's help text: --opt:none|speed|size optimize not at all or for speed|size Note: use -d:release for a release build! Run **I took this to mean that ``-d:release`` was *sufficient*

Re: New entry on Nim blog...

2020-06-17 Thread moerm
You are all welcome @cantanima I disagree. Reasons, mainly: a) Ada is intrinsically harder to work with. Likely reasons are its age (decades older than Nim) and some almost anal typeing problems, probably also due to its age; in a way J. Ichbiah had to try to emulate SA in the language itself

Re: Comparisons of Nim to the Chapel computer programming language...

2020-06-17 Thread Brad
Hi Gordon / @GordonBGood — Thanks for clarifying that your timings were taken using a Cygwin-based installation and CHPL_TASKS=fifo. Though I'd seen the note about Cygwin being an option in the original article, it hadn't occurred to me that it was the platform for your performance studies. Kno

Re: Nim's popularity

2020-06-17 Thread mantielero
I don't think that bearing popularity in mind means disregarding all the other things that Nim is already managing really well. I don't like popularity, I like what it comes with popularity: more brains, more libraries, better maintained packages, ... This thread could be titled: "Nim's ecosyst

Perf: Table.del(key)is taking 85% of my code's time

2020-06-17 Thread snej
I've got some networking code running now (implementation of a protocol based on WebSockets) and I have a little client and server that send each other messages as fast as they can. Now I get to profile it! (With `-d:release` of course.) Disappointingly, **about 85% of the total time is being s

Re: Nim version 1.2.2 is out!

2020-06-17 Thread leorize
Yes we still do, the implementation is currently integrated with `net.Socket`. You can open an issue on GitHub requesting a pluggable mechanism and I might look into it. It's not really that hard to replace the current system with a pluggable one, but there aren't enough interest to go for it at

Parallel coding in Nim (as compared to OpenMP/MPI)

2020-06-17 Thread Rooibos
I've recently started to learn Nim (and nimpy also for Python interoperability) and the experience up to now is very good, including fast compilation. I've also learning Arraymancer, which also seems very nice for linear algebra. My interest is basically numerical calculations, so I've been read

Re: Nim version 1.2.2 is out!

2020-06-17 Thread LeFF
Talking about SSL, do we still depend on OpenSSL for HTTPS clients? Is there a somewhat easy way to swap it out for something like Mbedtls?

Re: Nim version 1.2.2 is out!

2020-06-17 Thread Araq
A couple of remarks: * 1.2.2 does away with the runtime's infamous genericReset calls, instead much faster code is produced. * The SSL bugs have been fixed. At least that's what I have been told. * There is a new warning about "Observable Stores". I have yet to see a case where this warnin

Re: Nim's popularity

2020-06-17 Thread federico3
If popularity or quick growth becomes the main priority, aspects like innovative features and good design become secondary. Differently from many other languages, Nim is quite uncompromising and is aiming very high. > 4\. Epic Marketing: Nim is doing nothing here. Hype-driven popularity encour

Re: Nim's popularity

2020-06-17 Thread mratsim
> parallelism suck. Nim gives you the tools to implement what the language doesn't offer builtin. This is true for both async and parallelism. At the very least Nim offers channels and a threadpool by default while in C or C++ you have nothing in the standard library. Furthermore it gives you a

Re: What is ?

2020-06-17 Thread mratsim
Keywords are hard to add in a backward compatible way because they break bootstrapping so those symbols are used as a transition until bootstrapping is done with a Nim version that supports the owned keyword.

Re: Comparisons of Nim to the Chapel computer programming language...

2020-06-17 Thread mratsim
> (* = For example, these benchmarks: > > [https://chapel-lang.org/perf/chapcs/?startdate=2019/12/14&enddate=2020/06/15&graphs=emptytaskspawntimings50xmaxtaskpar](https://chapel-lang.org/perf/chapcs/?startdate=2019/12/14&enddate=2020/06/15&graphs=emptytaskspawntimings50xmaxtaskpar) > > de

Re: What is ?

2020-06-17 Thread Araq
It's dead code and we should remove it.

Nim version 1.2.2 is out!

2020-06-17 Thread miran
This is the first patch release for Nim 1.2, you can read more about it here: [https://nim-lang.org/blog/2020/06/17/version-122-released.html](https://nim-lang.org/blog/2020/06/17/version-122-released.html)

How to load dlls created in C++?

2020-06-17 Thread nnahito
I would like to use the Japanese morpheme analyzer "MeCab"( [https://github.com/taku910/mecab](https://github.com/taku910/mecab) ) in the Nim language. Since I use Windows 10, I thought about how to load the DLL in the Nim language and use the functions defined in the DLL. However, an error oc

Re: What is ?

2020-06-17 Thread xbello
Introduced here: [https://github.com/nim-lang/Nim/commit/e1515b53d1992aa8443a3317759cf5bab7fa9139](https://github.com/nim-lang/Nim/commit/e1515b53d1992aa8443a3317759cf5bab7fa9139) when defined(nimOwnedEnabled) and not defined(nimscript): The template marks the type as owned. else: Does n

Re: Nim's popularity

2020-06-17 Thread jasonfi
Concurrency and parallelism in Nim isn't bad actually: [https://onlinetechinfo.com/concurrency-and-parallelism-in-nim](https://onlinetechinfo.com/concurrency-and-parallelism-in-nim)/