lit
e0e698be9a
impr: std/cpuinfo: use documented impl ; support JS ( #23911 )
...
Currently `cpuinfo.countProcessor` uses hard-coded `HW_AVAILCPU=25` for
both MacOS and BSD;
However,
[There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD](
https://bugs.webkit.org/show_bug.cgi?id=132542 )
Also, `HW_AVAILCPU` is undocmented in MacOS,
while `sysctlbyname("hw.logicalcpu",...)` is documented and used
by many other languages' implementations, like
[Haskell](https://gitlab.haskell.org/ghc/ghc/-/blob/master/rts/posix/OSThreads.c?ref_type=heads#L376 )
---
This PR:
- use `importc` value instead of hard-coded values for `HW_*` macros.
- use "hw.logicialcpu" over undocumented HW_AVAILCPU.
- reduce 2 elements of `mib` array when calling `sysctl` as they're no
use.
2024-08-11 17:32:58 +02:00
ringabout
4d11d0619d
complete std prefixes for stdlib ( #22887 )
...
follow up https://github.com/nim-lang/Nim/pull/22851
follow up https://github.com/nim-lang/Nim/pull/22873
2023-10-30 17:03:04 +01:00
ringabout
a7a0105d8c
deprecate std/threadpool; use malebolgia, weave, nim-taskpool instead ( #22576 )
...
* deprecate `std/threadpool`; use `malebolgia` instead
* Apply suggestions from code review
* Apply suggestions from code review
* change the URL of inim
2023-08-29 15:00:13 +02:00
noah edward hall
4186529ff7
Update threadpool.nim with correct link to typedthreads module ( #21865 )
2023-05-19 21:23:44 +02:00
ringabout
1431f90d8c
Revert "Fix #13093 C++ Atomics: operator= is implicitly deleted because the default definition would be ill-formed " ( #21307 )
...
Revert "Fix #13093 C++ Atomics: operator= is implicitly deleted because the default definition would be ill-formed (#21169 )"
This reverts commit a7bae919ad .
2023-01-27 21:41:59 +01:00
Bung
a7bae919ad
Fix #13093 C++ Atomics: operator= is implicitly deleted because the default definition would be ill-formed ( #21169 )
...
* add test
* fix #17982 Invalid C++ code generation when returning discardable var T
* fix #13093
* cpp atomic good example
* clearify the condition
2023-01-27 09:50:44 +01:00
ringabout
b7d96cd3f5
fixes broken importc for vcc [backport] ( #20909 )
...
fixes broken imports for vcc
2022-11-24 20:16:51 +01:00
ringabout
09b7f90475
move system/atomics out of system; std/atomics should be preferred ( #20875 )
...
* move `system/atomics` out of system; `std/atomics` should be preferred
* add deprecation message
* fixes
* fixes
* fixes
* fixes more tests
2022-11-22 20:39:30 +01:00
ringabout
e03a178bff
rename std/threads to std/typedthreads ( #20850 )
...
* rename `std/threads` to `std/oldthreads`
* fixes tests
* rename to `typedthreads`
* changelog
2022-11-16 16:35:20 +01:00
ringabout
2848cdb18a
fixes #13781 ; fixes #14901 ; add acyclic pragmas to FlowVar ( #20804 )
...
* add acyclic pragmas to FlowVar
* add testcases
2022-11-10 16:54:39 +08:00
ringabout
0a1f204f0f
removes channels_builtin when enabling nimPreviewSlimSystem ( #20713 )
2022-10-31 16:56:05 +08:00
ringabout
e1ddd2d524
put std/threads under the umbrella of nimPreviewSlimSystem ( #20711 )
...
* put `std/threads` under the umbrella of `nimPreviewSlimSystem`
* add changelog
* fixes tests
* fixes tests again
* fixes tests
2022-10-31 06:36:50 +01:00
ringabout
1dab8ba334
move threads out of system ( #20674 )
...
* move syslocks first
* progress
* clean up
* go on
* clean up
* clean up
* add imports syslocks
* remove documentation
* public deallocOsPages
* fixes genode
* fixes more
* fixes boehmGC
* cover more cases
* fixes cyclic deps
* fixes genode
* cleanup
* unpublic fields
* cleanup
* clean up
2022-10-29 18:11:40 +02:00
ringabout
3d2f0e2c7c
make more standard libraries work with nimPreviewSlimSystem ( #20343 )
...
* make more standard libraries work with `nimPreviewSlimSystem`
* typo
* part two
* Delete specutils.nim
* fixes more tests
* more fixes
* fixes tests
* fixes three more tests
* add formatfloat import
* fix
* last
2022-09-27 20:06:23 +02:00
metagn
86f7f4ffa5
remove deprecated type pragma syntax, fix bugs that required it ( #20199 )
...
* remove deprecated pragma syntax from 0.20.0
closes #4651 , closes #16653 with a cheap fix for now due to
how early `tfFinal` is set
* remove type pragma between name and generics
* undo removal, try removing bind expression (0.8.14)
* fix test, unremove bind expr
* remove again
* Update changelog.md
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* dependencies @ HEAD & weave test dependencies
* try fix package ci
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-09-03 09:52:13 +02:00
James
851e515bba
Resolve cross file resolution errors in atomics ( #19422 ) [backport:1.6]
...
* Resolve call undeclared routine testAndSet
* Fix undeclared field atomicType
2022-01-20 13:58:59 +01:00
flywind
1869826668
add std/private/win_getsysteminfo; refactor the usage of GetSystemInfo ( #19310 )
...
* add std/private/win_getsysteminfo
* import at the top level
* wrappers follow nep1 too
* follow review comment
2022-01-04 11:49:54 +01:00
flywind
4f64c9fae5
add comments to spawn and pinnedSpawn ( #19230 )
...
`spawn` uses `nimSpawn3` internally and `pinnedSpawn` uses `nimSpawn4` internally. I comment it in order to help contributors get the gist of its functionality.
2021-12-09 18:49:31 +01:00
flywind
ee9795f76f
fix #18844 ( #18851 )
2021-09-20 09:50:20 +02:00
flywind
5edddd68d0
improve cache line size ( #17885 )
...
* improve cache line size
- 64bit system tend to use cache line of 64 bytes
- add align
https://trishagee.com/2011/07/22/dissecting_the_disruptor_why_its_so_fast_part_two__magic_cache_line_padding
Though I'm not sure, what do you think? @timotheecour
* Update lib/pure/concurrency/threadpool.nim
2021-04-29 13:39:36 +02:00
Timothee Cour
4f9aaee1d9
remove redundant void return in stdlib ( #17464 )
2021-03-23 08:28:53 +01:00
flywind
2e730f1452
rename channels to channels_builtin ( #17330 )
...
* improve test coverage for isolation
* a bit better
* rename channels to channels_builtin
2021-03-12 13:04:32 +01:00
flywind
9c5223a5f5
remove unnecessary deps ( #17307 )
...
* improve test coverage for isolation
* a bit better
* remove unnecessary deps
2021-03-09 10:35:10 +01:00
Timothee Cour
f455e03028
fix #17078 csources generation ( #17079 )
...
* fix #17078 csources generation
* fixup
2021-02-18 07:00:51 +01:00
Timothee Cour
31bb67a309
add -d:nimStrictMode in CI to keep code from regressing; fixes ConvFromXtoItselfNotNeeded, UnusedImport notes ( #16764 )
2021-02-17 19:30:09 +01:00
flywind
d447c0fe3f
use typeof instead type ( #16962 )
2021-02-08 09:46:07 +01:00
konsumlamm
c9801d7abc
Improve documentation for threadpool ( #16821 )
2021-01-27 19:05:31 +00:00
konsumlamm
d34d023da1
Minor docs/format changes (cpuinfo, volatile) ( #16602 )
2021-01-06 20:29:22 +01:00
ee7
297c8e403d
styleCheck: Fix some inconsistent identifiers ( #16177 )
2020-12-21 09:41:56 -08:00
Elliot Waite
f3d57761ab
Fix broken links in docs ( #16336 )
...
* Fix broken links in docs
* Fix rand HSlice links
2020-12-14 20:13:12 +01:00
flywind
d2c6ac4750
add simple runnableExamples for atomics ( #16116 )
2020-11-24 19:19:03 +01:00
Bung
826e62953f
fix #12726 Cannot take the compile-time sizeof Atomic types ( #15928 )
...
* fix #12726 Cannot take the compile-time sizeof Atomic types
* fix for arch 32
2020-11-12 09:16:40 +01:00
Elijah Shaw-Rutschman
8a004e2fc0
Add test coverage for atomics ( #15193 )
...
* Add test coverage for atomics
Signed-off-by: Elijah Shaw-Rutschman <elijahr@gmail.com >
* Fix compareExchange bugs for non-trivial objects
Bugs fixed:
1. compareExchange would not set the desired value in the success case.
2. compareExchange would not set var expected to the found value in the failure case.
3. withLock would spin forever running the unit tests. try..body..finally prevents this. Not sure why this makes a difference, since an exception wasn’t being raised, but clearing the guard in a finally block seems correct anyways.
Signed-off-by: Elijah Shaw-Rutschman <elijahr@gmail.com >
2020-08-18 18:02:10 +02:00
Araq
ffe7b3a9bf
threadpool.nim: minor code style changes
2020-07-18 21:40:57 +02:00
Miran
e7f280bd26
Remove deprecated stuff from stdlib ( #14699 )
...
* update to the latest Jester
* remove deprecated procs from some stdlib modules
* 'criterion' is not maintained anymore and relies on obsolete stuff
2020-06-17 15:25:02 +02:00
cooldome
d3b0132061
Step2: fixes #13781 , fixes #13805 ( #13897 )
...
* Fix sym owner in wrapper proc
* threadpool changes
* revert lowerings
* add newFastMoveStmt
* try fixing test by switching to cpp
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-04-16 23:27:08 +02:00
Juan Carlos
4816984726
Documentation, add more examples ( #13825 )
2020-04-01 19:39:58 +02:00
Juan Carlos
42d2c3088e
Add Documentation ( #13811 )
...
* Add more Docs and runnableExamples
2020-03-31 15:47:57 +02:00
Araq
8215c57666
threadpool.nim: allow control over MaxThreadPoolSize and MaxDistinguishedThread; refs #10584
2020-03-20 15:07:11 +01:00
Timothee Cour
2ecef8f779
csize => csize_t for sysctl
2020-01-28 23:36:24 +00:00
Clyybber
267fed53ee
Fix #12812
2019-12-05 13:22:40 +01:00
narimiran
cc3e9ca164
remove unused imports
2019-11-06 12:01:00 +01:00
Jjp137
93461aee34
Fix many broken links
...
Note that contrary to what docgen.rst currently says, the ids have
to match exactly or else most web browsers will not jump to the
intended symbol.
2019-10-22 17:59:12 -07:00
Andreas Rumpf
889b745b2b
Revert "Fixes #12187 ( #12321 )" ( #12447 )
...
This reverts commit 00c31e8766 .
2019-10-18 15:59:22 +02:00
Clyybber
00c31e8766
Fixes #12187 ( #12321 )
...
* Fixes #12187
* Point to fork of compactdict
Since the original repo is now archived / read-only
2019-10-08 14:15:47 +02:00
Federico Ceratto
39290cf88c
Fix spellings ( #12277 ) [backport]
2019-09-27 07:02:54 +02:00
Jjp137
e065e51245
threadpool: fix link in docs [ci skip] ( #12258 ) [backport]
...
[backport]
2019-09-25 07:12:08 +02:00
Araq
5abe880469
last stdlib cleanups
2019-09-21 06:43:37 +02:00
Araq
bebda3851f
fixes #1188
2019-08-16 13:29:58 +02:00
Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00