Code Monkey home page Code Monkey logo

reminiscence's People

Contributors

airbreather avatar xivk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

reminiscence's Issues

Question: Add edge meta data value

I'm trying to add an edge meta data value but I get and exception "Collection is readonly".
May be I make mistake, what is the right way to add a meta data value to one or more edges?

following my snippet:

            foreach (var vertex in GetVerticesByCircle(network, latitude[0], longitude[0], radius))
            {
                edgeEnumerator.MoveTo(vertex);
                while (edgeEnumerator.MoveNext())
                {
                    var edgeData = edgeEnumerator.Data;
                    var metaData = routerDb.EdgeMeta.Get(edgeData.MetaId);
                    metaData.AddOrReplace("custom", "5000");
                }
            }

MemoryArray<T>: Custom Block Size Won't Quite Work

These lines use _arrayPow, which looks like it was supposed to be the log-base-2 of the block size, but it's never actually set except inline, so if you try to use a smaller block size then there will be some values that can only be written to (never read from).

For example:

var arr = new MemoryArray<int>(17, 16);
arr[15] = 1;
Console.WriteLine(arr[15]); // writes 1
arr[16] = 2;
Console.WriteLine(arr[16]); // throws

Implement the standard IDisposable pattern in unsealed classes

A few classes implement System.IDisposable, but they do so without using the standard pattern. See CA1063:ImplementIDisposableCorrectly, including its "See Also" links, for a description of this pattern.

I'm wrapping up what I intend to submit for the native memory array implementation, and in my self-review, I noticed that I don't have a finalizer on the type, which got me thinking about this.

The types I see that directly implement System.IDisposable are:

  • Reminiscence.Arrays.ArrayBase<T>
  • Reminiscence.Collections.List<T>
  • Reminiscence.Indexes.Index<T>
  • Reminiscence.IO.MemoryMap
  • Reminiscence.IO.MappedAccessor<T>

Create index

Create an index-object mapping variable-sized objects to long id's.

[Request]: VS2017 Support

The projects use the .xproj / project.json format from the VS2015 preview era, so they can't be used directly with VS2017. VS2017's auto-upgrade process, however, doesn't seem to understand what you're doing here, and the upgraded project won't build.

My VS2015 is broken at the moment (reinstalling doesn't work), so I can't confirm that I can get it working in that version, but it looks like you've set a precedent by upgrading itinero/routing, so I feel OK requesting this.

Here's the MSBuild detailed output from trying to build the auto-upgraded version, in case that helps you figure this out.

AddContracted extremy slow

We are busy rebuilding the routerdbs for many countries of the world. Its the first time since a couple of years so I don't remember anymore, how it went that time.

Anyway, now its Itinero 1.6.0-pre032, Reminiscence 1.3.0. with a Windows App x64.

For example germany-latest.osm.pbf. routerDb.LoadOsmData() is an hour, thats acceptable.
Then routerDb.AddContracted() with standard-profiles Car, Bicycle and Walking. 12-15h each.
Will take us month to compile all the countries.

The machine is a I5 3.3GHz with 32G ram. CPU load is around 40% and memory consumption ca 20GB.
Network load is 0% so I believe, its ok, if the PBF is on a NAS? Everything is done in Memory?

Maybe we are doing something wrong or missing something? Would be great if there is a trick to speed up.

Memory never released

I have a static router which I keep around to use from multiple controllers etc and it appears that the memory is never released.

image

image

image

image

MemoryArray<T>: blockSize Cannot Be Zero

This line explicitly allows a block size of zero, but that doesn't really work here since there's no finite number of such blocks that can satisfy any requested length.

From a quick search, the other Itinero projects don't look like they ever provide a different block size, so this probably doesn't affect anyone right away.

Enable indexes to become writable again

Enable indexes to become writable again by giving it a new map to extend to. At the moment the indexes that have been created from a stream are read-only, they need to become writable again and this can be done by giving them a new map.

This is needed to fix this issue: itinero/routing#146

Support for bool arrays.

Implement support for boolean arrays where one bit represents on bool.

We need to make breaking changes because this would make the elementsize < 1 byte.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.