> 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
@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
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
> 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
"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
> 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
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
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
Dafny is a quite nice and actually useable tool but unfortunately .Net only.
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
> 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
@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
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
> 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
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
`--opt:size` can me stuff slower, it changes file size for speed.
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.
Wow thanks for all of the hard work! I love new new versions.
-d:danger -d:lto|
> 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
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)
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*
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
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
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
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
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
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
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?
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
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
> 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
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.
> (* = 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
It's dead code and we should remove it.
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)
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
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
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)/
39 matches
Mail list logo