summary refs log tree commit diff stats
path: root/tests/async/tfuturestream.nim
Commit message (Collapse)AuthorAgeFilesLines
* faster CIs (#13803)Miran2020-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ttables: smaller table, 5x speedup * thavlak: less iterations, less loops; 30% speedup * tasyncclosestall: shorter timeout; 35% speedup * gcleak4: less iterations, 2x speedup * ttimes: remove deprecated stuff * tdangerisrelease: remove cpp backend, 3x speedup * tfrexp1: smaller range, 2x speedup * trtree: fix warnings, less iterations, 6x speedup * tasyncawait_cyclebreaker: smaller swarm size; 2x speedup * trealloc: smaller number of iterations; 10x speedup * towned_binary_tree: less iterations, 4x speedup * tclosure: remove unused code, less iterations; 2x speedup * twaitany: less durations; 1.4x speedup * tasync_misc: less iterations, 2x speedup * t8535: smaller sleep, 1.5x speedup * tmanyjoin: smaller sleep, 2x speedup * t12221: shorter sleeps, removed two slower tests; 1.6x speedup * tfuturestream: smaller sleep; 1.5x speedup * growobjcrash: less iterations; 2x speedup * ttryrecv: smaller sleep; 1.5x speedup * treusetvar: less threads; 2x speedup * delete tthreadanalysis2, basically a duplicate of tthreadanalysis * t7758: less iterations, 1.5x speedup * tasyncawait: smaller swarm, less messages; 1.5x speedup * tjsandnativeasync: smaller sleep, 1.5x speedup * tpendingcheck: smaller sleep, 1.5x speedup * remove rodfiles test category * move tseq from its own category to 'collections' category * remove unneeded tests and helpers from 'assert' category * stdlib: merge tbitops2 into tbitops * remove 'trepr2' from 'stdlib' cat * merge 'tstreams' into one file * remove 'tinefficient_const_table' from 'ccbugs' cat * merge 'tcollections_to_string' into 'tcollections' * tblocking_channel: smaller sleep, small speedup * tconvexhull: less iterartions; 1.2x speedup * merge 'tdeepcopy2' into 'tdeepcopy' * merge 'tdisjoint_slice2' into 'tdisjoint_slice1' * tmissing_deepcopy: smaller sequence * tsendtwice: smaller arrays; 5x speedup * remove 'tindexerrorformatbounds' * disable multimethod tests * remove 'gc:none' and 'refc' without 'd:useRealtimeGC' from gc tests * koch.nim: bootstrap just with '-d:release', no need for 'csource' * add github workflow for documentation * testament: no need for 8 sub-second decimals
* require errormsg to be specified before file.Arne Döring2018-12-111-4/+2
|
* make some tests faster (#9413)Miran2018-10-171-1/+1
| | | | | | | | | | | | * remove duplicated slow test * smaller `convex hull` * smaller sleep * faster `trtree` * smaller sleep in `tfuturestream`
* Fixes #8994. FutureStream read procedure data loss no longer occurs. (#9183)Dominik Picheta2018-10-091-0/+20
| | | | | | * Fixes #8994. FutureStream read procedure data loss no longer occurs. * Optimises the fix for #8994.
* Fixes #6100.Dominik Picheta2017-12-271-1/+1
|
* Various fixes to FutureStreams based on PR feedback.Dominik Picheta2017-02-261-2/+2
|
* Fixes tests.Dominik Picheta2017-02-111-0/+1
|
* Remove immediate FutureStream procs and make 'put' awaitable.Dominik Picheta2017-02-101-2/+2
|
* Improve implementation of takeAsync for FutureStreams.Dominik Picheta2017-02-101-4/+22
|
* Add test spec to tfuturestreamDominik Picheta2017-02-101-0/+14
|
* Implemented a first working version of FutureStreams.Dominik Picheta2017-02-101-4/+5
|
* WIP implementation of FutureStream.Dominik Picheta2017-02-091-0/+19
4:integer <- copy 36:literal 15:integer <- get 12:point-integer, 1:offset ] +run: instruction main/2 +run: ingredient 0 is 12 +run: ingredient 1 is 1 +run: address to copy is 14 +run: its type is 1 +mem: location 14 is 36 +run: product 0 is 36 +mem: storing in location 15 :(before "End Globals") // To write to fields of records, you need their address. const int GET_ADDRESS = 19; :(before "End Primitive Recipe Numbers") Recipe_number["get-address"] = GET_ADDRESS; assert(Next_recipe_number == GET_ADDRESS); Next_recipe_number++; :(before "End Primitive Recipe Implementations") case GET_ADDRESS: { trace("run") << "ingredient 0 is " << instructions[pc].ingredients[0].name; int base_address = to_int(instructions[pc].ingredients[0].name); int base_type = instructions[pc].ingredients[0].types[0]; assert(Type[base_type].is_record); trace("run") << "ingredient 1 is " << instructions[pc].ingredients[1].name; assert(instructions[pc].ingredients[1].types.size() == 1); assert(instructions[pc].ingredients[1].types[0] == 0); // must be literal size_t offset = to_int(instructions[pc].ingredients[1].name); int src = base_address; for (size_t i = 0; i < offset; ++i) { src += size_of(reagent(Type[base_type].elements[i][0])); } trace("run") << "address to copy is " << src; vector<int> result; result.push_back(src); trace("run") << "product 0 is " << result[0]; write_memory(instructions[pc].products[0], result); break; } :(scenario "get_address") recipe main [ 12:integer <- copy 34:literal 13:integer <- copy 35:literal 15:address:integer <- get-address 12:point, 1:offset ] +run: instruction main/2 +run: ingredient 0 is 12 +run: ingredient 1 is 1 +run: address to copy is 13 +mem: storing in location 15