mesh-rb 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/.idea/.gitignore +8 -0
  3. data/.idea/mesh-rb.iml +16 -0
  4. data/.idea/misc.xml +4 -0
  5. data/.idea/modules.xml +8 -0
  6. data/.idea/vcs.xml +9 -0
  7. data/Gemfile +2 -0
  8. data/Gemfile.lock +17 -0
  9. data/Rakefile +16 -0
  10. data/bin/mesh +30 -0
  11. data/ext/mesh/extconf.rb +13 -0
  12. data/ext/mesh/mesh/.bazelrc +20 -0
  13. data/ext/mesh/mesh/.bazelversion +1 -0
  14. data/ext/mesh/mesh/.clang-format +15 -0
  15. data/ext/mesh/mesh/.dockerignore +5 -0
  16. data/ext/mesh/mesh/.editorconfig +16 -0
  17. data/ext/mesh/mesh/.gitattributes +4 -0
  18. data/ext/mesh/mesh/.github/workflows/main.yml +144 -0
  19. data/ext/mesh/mesh/.gitignore +51 -0
  20. data/ext/mesh/mesh/AUTHORS +5 -0
  21. data/ext/mesh/mesh/CMakeLists.txt +270 -0
  22. data/ext/mesh/mesh/CODE_OF_CONDUCT.md +77 -0
  23. data/ext/mesh/mesh/Dockerfile +30 -0
  24. data/ext/mesh/mesh/LICENSE +201 -0
  25. data/ext/mesh/mesh/Makefile +81 -0
  26. data/ext/mesh/mesh/README.md +97 -0
  27. data/ext/mesh/mesh/WORKSPACE +50 -0
  28. data/ext/mesh/mesh/bazel +350 -0
  29. data/ext/mesh/mesh/mesh-pldi19-powers.pdf +0 -0
  30. data/ext/mesh/mesh/src/BUILD +222 -0
  31. data/ext/mesh/mesh/src/CMakeLists.txt +85 -0
  32. data/ext/mesh/mesh/src/bitmap.h +590 -0
  33. data/ext/mesh/mesh/src/cheap_heap.h +170 -0
  34. data/ext/mesh/mesh/src/common.h +377 -0
  35. data/ext/mesh/mesh/src/copts.bzl +31 -0
  36. data/ext/mesh/mesh/src/d_assert.cc +75 -0
  37. data/ext/mesh/mesh/src/fixed_array.h +124 -0
  38. data/ext/mesh/mesh/src/global_heap.cc +547 -0
  39. data/ext/mesh/mesh/src/global_heap.h +569 -0
  40. data/ext/mesh/mesh/src/gnu_wrapper.cc +75 -0
  41. data/ext/mesh/mesh/src/internal.h +356 -0
  42. data/ext/mesh/mesh/src/libmesh.cc +239 -0
  43. data/ext/mesh/mesh/src/mac_wrapper.cc +528 -0
  44. data/ext/mesh/mesh/src/measure_rss.cc +44 -0
  45. data/ext/mesh/mesh/src/measure_rss.h +20 -0
  46. data/ext/mesh/mesh/src/meshable_arena.cc +776 -0
  47. data/ext/mesh/mesh/src/meshable_arena.h +309 -0
  48. data/ext/mesh/mesh/src/meshing.h +60 -0
  49. data/ext/mesh/mesh/src/mini_heap.h +532 -0
  50. data/ext/mesh/mesh/src/mmap_heap.h +104 -0
  51. data/ext/mesh/mesh/src/one_way_mmap_heap.h +77 -0
  52. data/ext/mesh/mesh/src/partitioned_heap.h +111 -0
  53. data/ext/mesh/mesh/src/plasma/mesh.h +33 -0
  54. data/ext/mesh/mesh/src/real.cc +52 -0
  55. data/ext/mesh/mesh/src/real.h +36 -0
  56. data/ext/mesh/mesh/src/rng/mwc.h +296 -0
  57. data/ext/mesh/mesh/src/rng/mwc64.h +58 -0
  58. data/ext/mesh/mesh/src/rpl_printf.c +1991 -0
  59. data/ext/mesh/mesh/src/runtime.cc +393 -0
  60. data/ext/mesh/mesh/src/runtime.h +114 -0
  61. data/ext/mesh/mesh/src/shuffle_vector.h +287 -0
  62. data/ext/mesh/mesh/src/size_classes.def +251 -0
  63. data/ext/mesh/mesh/src/static/if.h +36 -0
  64. data/ext/mesh/mesh/src/static/log.h +43 -0
  65. data/ext/mesh/mesh/src/testing/benchmark/local_refill.cc +103 -0
  66. data/ext/mesh/mesh/src/testing/big-alloc.c +28 -0
  67. data/ext/mesh/mesh/src/testing/fragmenter.cc +128 -0
  68. data/ext/mesh/mesh/src/testing/global-large-stress.cc +25 -0
  69. data/ext/mesh/mesh/src/testing/local-alloc.c +16 -0
  70. data/ext/mesh/mesh/src/testing/meshing_benchmark.cc +189 -0
  71. data/ext/mesh/mesh/src/testing/thread.cc +35 -0
  72. data/ext/mesh/mesh/src/testing/unit/alignment.cc +56 -0
  73. data/ext/mesh/mesh/src/testing/unit/bitmap_test.cc +274 -0
  74. data/ext/mesh/mesh/src/testing/unit/concurrent_mesh_test.cc +185 -0
  75. data/ext/mesh/mesh/src/testing/unit/mesh_test.cc +143 -0
  76. data/ext/mesh/mesh/src/testing/unit/rng_test.cc +22 -0
  77. data/ext/mesh/mesh/src/testing/unit/size_class_test.cc +66 -0
  78. data/ext/mesh/mesh/src/testing/unit/triple_mesh_test.cc +285 -0
  79. data/ext/mesh/mesh/src/testing/userfaultfd-kernel-copy.cc +164 -0
  80. data/ext/mesh/mesh/src/thread_local_heap.cc +163 -0
  81. data/ext/mesh/mesh/src/thread_local_heap.h +268 -0
  82. data/ext/mesh/mesh/src/wrapper.cc +433 -0
  83. data/ext/mesh/mesh/support/export_mesh.cmake +28 -0
  84. data/ext/mesh/mesh/support/gen-size-classes +57 -0
  85. data/ext/mesh/mesh/support/install_all_configs +33 -0
  86. data/ext/mesh/mesh/support/remove_export_mesh.cmake +48 -0
  87. data/ext/mesh/mesh/support/update-bazelisk +8 -0
  88. data/ext/mesh/mesh/theory/32m80.png +0 -0
  89. data/ext/mesh/mesh/theory/64m80ind.png +0 -0
  90. data/ext/mesh/mesh/theory/bound_comparison.py +67 -0
  91. data/ext/mesh/mesh/theory/bounds/impdeg+1 +135 -0
  92. data/ext/mesh/mesh/theory/choose.py +43 -0
  93. data/ext/mesh/mesh/theory/common.py +42 -0
  94. data/ext/mesh/mesh/theory/compute_exp_Y.py +134 -0
  95. data/ext/mesh/mesh/theory/createRandomString.py +69 -0
  96. data/ext/mesh/mesh/theory/deg_bound_check.py +100 -0
  97. data/ext/mesh/mesh/theory/degcheck.py +47 -0
  98. data/ext/mesh/mesh/theory/dumps/32,1,80,dumb.txt +81 -0
  99. data/ext/mesh/mesh/theory/dumps/32,2,80,dumb.txt +81 -0
  100. data/ext/mesh/mesh/theory/dumps/32,3,80,dumb.txt +81 -0
  101. data/ext/mesh/mesh/theory/dumps/32,4,80,dumb.txt +81 -0
  102. data/ext/mesh/mesh/theory/dumps/32,5,80,dumb.txt +81 -0
  103. data/ext/mesh/mesh/theory/dumps/32,6,80,dumb.txt +81 -0
  104. data/ext/mesh/mesh/theory/dumps/32,7,80,dumb.txt +81 -0
  105. data/ext/mesh/mesh/theory/dumps/32,8,80,dumb.txt +81 -0
  106. data/ext/mesh/mesh/theory/dumps/32,9,80,dumb.txt +81 -0
  107. data/ext/mesh/mesh/theory/experiment.py +303 -0
  108. data/ext/mesh/mesh/theory/experiment_raw_results/.gitignore +0 -0
  109. data/ext/mesh/mesh/theory/greedy_experiment.py +66 -0
  110. data/ext/mesh/mesh/theory/greedy_experiment_copy.py +46 -0
  111. data/ext/mesh/mesh/theory/greedy_experiment_q.py +75 -0
  112. data/ext/mesh/mesh/theory/makeGraph.py +64 -0
  113. data/ext/mesh/mesh/theory/manyreps.png +0 -0
  114. data/ext/mesh/mesh/theory/manystrings.png +0 -0
  115. data/ext/mesh/mesh/theory/match_vs_color_experiment.py +94 -0
  116. data/ext/mesh/mesh/theory/maxmatch_vs_E[Y].py +162 -0
  117. data/ext/mesh/mesh/theory/maxmatch_vs_greedymatch.py +96 -0
  118. data/ext/mesh/mesh/theory/maxvdeg+1imp++32,80.png +0 -0
  119. data/ext/mesh/mesh/theory/mesh_util.py +322 -0
  120. data/ext/mesh/mesh/theory/meshers.py +452 -0
  121. data/ext/mesh/mesh/theory/meshingBenchmark.py +96 -0
  122. data/ext/mesh/mesh/theory/occupancyComparison.py +133 -0
  123. data/ext/mesh/mesh/theory/randmatch_vs_greedymatch.py +97 -0
  124. data/ext/mesh/mesh/theory/randmatch_vs_greedymatch_q.py +103 -0
  125. data/ext/mesh/mesh/theory/randmatch_vs_greedymatch_time.py +117 -0
  126. data/ext/mesh/mesh/theory/read_mesh_dump.py +82 -0
  127. data/ext/mesh/mesh/theory/test.py +70 -0
  128. data/ext/mesh/mesh/tools/bazel +1 -0
  129. data/lib/mesh/version.rb +3 -0
  130. data/mesh.gemspec +14 -0
  131. metadata +172 -0
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import json
5
+ import sys
6
+ import argparse
7
+ from collections import defaultdict
8
+
9
+ import meshers
10
+
11
+ MB = 1/1024.0/1024.0
12
+
13
+ class Span(object):
14
+ def __init__(self, obj):
15
+ self.name = obj['name']
16
+ self.size = obj['object-size']
17
+ self.length = obj['length']
18
+ self.bitmap = obj['bitmap']
19
+
20
+
21
+ def read_data(json_path):
22
+ '''
23
+ Reads a dict of size -> span list from a mesh dump file at `json_path`
24
+ '''
25
+ size_classes = defaultdict(list)
26
+
27
+ with open(json_path) as f:
28
+ for l in f.readlines():
29
+ obj = json.loads(l)
30
+ span = Span(obj)
31
+ size_classes[span.size].append(span)
32
+
33
+ return size_classes
34
+
35
+
36
+ def count_meshes(mesher, spans):
37
+ bitmaps = [s.bitmap for s in spans]
38
+ if len(bitmaps) % 2 == 1:
39
+ bitmaps.append('1' * len(s.bitmap))
40
+
41
+ return mesher(bitmaps)
42
+
43
+
44
+ def main():
45
+ parser = argparse.ArgumentParser()
46
+ parser.add_argument('--size', type=int, help='size to dump graph')
47
+ parser.add_argument('json_file', nargs=1, help='A JSON dump from libmesh')
48
+ args = parser.parse_args()
49
+
50
+ if not args.json_file:
51
+ parser.print_help()
52
+ return 1
53
+
54
+ size_classes = read_data(args.json_file[0])
55
+
56
+ sizes = sorted(size_classes.keys(), reverse=True)
57
+
58
+ total_size = 0
59
+ for size in sizes:
60
+ spans = size_classes[size]
61
+ total_size += sum([s.size * s.length for s in spans])
62
+
63
+ print('Total heap size: %.1f MiB' % (total_size * MB,))
64
+
65
+ saved = 0
66
+ for size in sizes:
67
+ if size >= 4096:
68
+ continue
69
+ spans = size_classes[size]
70
+ # n = count_meshes(meshers.optimalMesher, spans)
71
+ # n = count_meshes(meshers.optimalMesher, spans)
72
+ n = count_meshes(meshers.greedyMesher, spans)
73
+ print('\t%5d: %d spans (%d meshes)' % (size, len(spans), len(n)))
74
+ saved += (size * spans[0].length) * len(n)
75
+
76
+ print('Saved size: %.1f MiB' % (saved * MB,))
77
+
78
+ return 0
79
+
80
+
81
+ if __name__ == '__main__':
82
+ sys.exit(main())
@@ -0,0 +1,70 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Mon Apr 25 14:34:04 2016
4
+
5
+ @author: devd
6
+ """
7
+ from __future__ import division
8
+ import logging
9
+ import math
10
+ from choose import nCr
11
+ import numpy as np
12
+ from scipy.misc import comb
13
+ import createRandomString as c
14
+ import meshers
15
+ import time
16
+ import random
17
+ import functools
18
+ import json
19
+ import pickle
20
+ import os
21
+ from mesh_util import occupancySort, formatStrings, fast_q
22
+ from createRandomString import createIndependentRandomStrings
23
+
24
+ #logging.getLogger('').handlers = []
25
+ #logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
26
+ #logging.debug('This is a log message.')
27
+ #logging.info('test')
28
+ #logging.warning('double test')
29
+ #
30
+
31
+ #strings = createIndependentRandomStrings(4,10,numOnes = 2)
32
+ #new_strings = []
33
+ #for string in strings:
34
+ # new_strings.append((string, long(string, base=2)))
35
+ #print new_strings
36
+ #print "\n \n \n"
37
+ ##occupancySort(strings)
38
+ #new_strings.sort(key = lambda x: x[0].count("1"))
39
+ #print new_strings
40
+
41
+ strings = createIndependentRandomStrings(256, 10000, numOnes = 5)
42
+ strings = formatStrings(strings)
43
+ occs = [x[2] for x in strings]
44
+ print np.mean(occs)
45
+ print np.std(occs)
46
+
47
+ def faster_q(length, occ1, occ2):
48
+ numerator = 1
49
+ for i in range(length-occ1, length-occ1-occ2, -1):
50
+ numerator *= i
51
+ denominator = 1
52
+ for i in range(length, length-occ2, -1):
53
+ denominator *= i
54
+ return float(numerator)/float(denominator)
55
+
56
+ length = 128
57
+
58
+ start = time.time()
59
+ for occ1 in range(0,50):
60
+ for occ2 in range(0,50):
61
+ result1 = fast_q(length, occ1, occ2)
62
+ t1 = time.time() - start
63
+
64
+ start = time.time()
65
+ for occ1 in range(0,50):
66
+ for occ2 in range(0,50):
67
+ result2 = faster_q(length, occ1, occ2)
68
+ t2 = time.time()-start
69
+ print 'fast_q got {} in {} ms'.format(result1, t1)
70
+ print 'faster_q got {} in {} ms'.format(result2, t2)
@@ -0,0 +1 @@
1
+ ../bazel
@@ -0,0 +1,3 @@
1
+ module Mesh
2
+ VERSION = '0.0.1'.freeze
3
+ end
data/mesh.gemspec ADDED
@@ -0,0 +1,14 @@
1
+ $:.push File.expand_path('../lib', __FILE__)
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'mesh-rb'
5
+ s.version = '0.0.1'
6
+ s.summary = 'mesh allocator. Still under maintenance'
7
+ s.author = 'ThreadedStream'
8
+ s.extensions = ['ext/mesh/extconf.rb']
9
+ s.require_paths = ['lib']
10
+ s.homepage = 'https://github.com/ThreadedStream/mesh-rb'
11
+
12
+ s.files = `git ls-files`.split("\n")
13
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
14
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mesh-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - ThreadedStream
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-06-07 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email:
15
+ executables:
16
+ - mesh
17
+ extensions:
18
+ - ext/mesh/extconf.rb
19
+ extra_rdoc_files: []
20
+ files:
21
+ - ".idea/.gitignore"
22
+ - ".idea/mesh-rb.iml"
23
+ - ".idea/misc.xml"
24
+ - ".idea/modules.xml"
25
+ - ".idea/vcs.xml"
26
+ - Gemfile
27
+ - Gemfile.lock
28
+ - Rakefile
29
+ - bin/mesh
30
+ - ext/mesh/extconf.rb
31
+ - ext/mesh/mesh/.bazelrc
32
+ - ext/mesh/mesh/.bazelversion
33
+ - ext/mesh/mesh/.clang-format
34
+ - ext/mesh/mesh/.dockerignore
35
+ - ext/mesh/mesh/.editorconfig
36
+ - ext/mesh/mesh/.gitattributes
37
+ - ext/mesh/mesh/.github/workflows/main.yml
38
+ - ext/mesh/mesh/.gitignore
39
+ - ext/mesh/mesh/AUTHORS
40
+ - ext/mesh/mesh/CMakeLists.txt
41
+ - ext/mesh/mesh/CODE_OF_CONDUCT.md
42
+ - ext/mesh/mesh/Dockerfile
43
+ - ext/mesh/mesh/LICENSE
44
+ - ext/mesh/mesh/Makefile
45
+ - ext/mesh/mesh/README.md
46
+ - ext/mesh/mesh/WORKSPACE
47
+ - ext/mesh/mesh/bazel
48
+ - ext/mesh/mesh/mesh-pldi19-powers.pdf
49
+ - ext/mesh/mesh/src/BUILD
50
+ - ext/mesh/mesh/src/CMakeLists.txt
51
+ - ext/mesh/mesh/src/bitmap.h
52
+ - ext/mesh/mesh/src/cheap_heap.h
53
+ - ext/mesh/mesh/src/common.h
54
+ - ext/mesh/mesh/src/copts.bzl
55
+ - ext/mesh/mesh/src/d_assert.cc
56
+ - ext/mesh/mesh/src/fixed_array.h
57
+ - ext/mesh/mesh/src/global_heap.cc
58
+ - ext/mesh/mesh/src/global_heap.h
59
+ - ext/mesh/mesh/src/gnu_wrapper.cc
60
+ - ext/mesh/mesh/src/internal.h
61
+ - ext/mesh/mesh/src/libmesh.cc
62
+ - ext/mesh/mesh/src/mac_wrapper.cc
63
+ - ext/mesh/mesh/src/measure_rss.cc
64
+ - ext/mesh/mesh/src/measure_rss.h
65
+ - ext/mesh/mesh/src/meshable_arena.cc
66
+ - ext/mesh/mesh/src/meshable_arena.h
67
+ - ext/mesh/mesh/src/meshing.h
68
+ - ext/mesh/mesh/src/mini_heap.h
69
+ - ext/mesh/mesh/src/mmap_heap.h
70
+ - ext/mesh/mesh/src/one_way_mmap_heap.h
71
+ - ext/mesh/mesh/src/partitioned_heap.h
72
+ - ext/mesh/mesh/src/plasma/mesh.h
73
+ - ext/mesh/mesh/src/real.cc
74
+ - ext/mesh/mesh/src/real.h
75
+ - ext/mesh/mesh/src/rng/mwc.h
76
+ - ext/mesh/mesh/src/rng/mwc64.h
77
+ - ext/mesh/mesh/src/rpl_printf.c
78
+ - ext/mesh/mesh/src/runtime.cc
79
+ - ext/mesh/mesh/src/runtime.h
80
+ - ext/mesh/mesh/src/shuffle_vector.h
81
+ - ext/mesh/mesh/src/size_classes.def
82
+ - ext/mesh/mesh/src/static/if.h
83
+ - ext/mesh/mesh/src/static/log.h
84
+ - ext/mesh/mesh/src/testing/benchmark/local_refill.cc
85
+ - ext/mesh/mesh/src/testing/big-alloc.c
86
+ - ext/mesh/mesh/src/testing/fragmenter.cc
87
+ - ext/mesh/mesh/src/testing/global-large-stress.cc
88
+ - ext/mesh/mesh/src/testing/local-alloc.c
89
+ - ext/mesh/mesh/src/testing/meshing_benchmark.cc
90
+ - ext/mesh/mesh/src/testing/thread.cc
91
+ - ext/mesh/mesh/src/testing/unit/alignment.cc
92
+ - ext/mesh/mesh/src/testing/unit/bitmap_test.cc
93
+ - ext/mesh/mesh/src/testing/unit/concurrent_mesh_test.cc
94
+ - ext/mesh/mesh/src/testing/unit/mesh_test.cc
95
+ - ext/mesh/mesh/src/testing/unit/rng_test.cc
96
+ - ext/mesh/mesh/src/testing/unit/size_class_test.cc
97
+ - ext/mesh/mesh/src/testing/unit/triple_mesh_test.cc
98
+ - ext/mesh/mesh/src/testing/userfaultfd-kernel-copy.cc
99
+ - ext/mesh/mesh/src/thread_local_heap.cc
100
+ - ext/mesh/mesh/src/thread_local_heap.h
101
+ - ext/mesh/mesh/src/wrapper.cc
102
+ - ext/mesh/mesh/support/export_mesh.cmake
103
+ - ext/mesh/mesh/support/gen-size-classes
104
+ - ext/mesh/mesh/support/install_all_configs
105
+ - ext/mesh/mesh/support/remove_export_mesh.cmake
106
+ - ext/mesh/mesh/support/update-bazelisk
107
+ - ext/mesh/mesh/theory/32m80.png
108
+ - ext/mesh/mesh/theory/64m80ind.png
109
+ - ext/mesh/mesh/theory/bound_comparison.py
110
+ - ext/mesh/mesh/theory/bounds/impdeg+1
111
+ - ext/mesh/mesh/theory/choose.py
112
+ - ext/mesh/mesh/theory/common.py
113
+ - ext/mesh/mesh/theory/compute_exp_Y.py
114
+ - ext/mesh/mesh/theory/createRandomString.py
115
+ - ext/mesh/mesh/theory/deg_bound_check.py
116
+ - ext/mesh/mesh/theory/degcheck.py
117
+ - ext/mesh/mesh/theory/dumps/32,1,80,dumb.txt
118
+ - ext/mesh/mesh/theory/dumps/32,2,80,dumb.txt
119
+ - ext/mesh/mesh/theory/dumps/32,3,80,dumb.txt
120
+ - ext/mesh/mesh/theory/dumps/32,4,80,dumb.txt
121
+ - ext/mesh/mesh/theory/dumps/32,5,80,dumb.txt
122
+ - ext/mesh/mesh/theory/dumps/32,6,80,dumb.txt
123
+ - ext/mesh/mesh/theory/dumps/32,7,80,dumb.txt
124
+ - ext/mesh/mesh/theory/dumps/32,8,80,dumb.txt
125
+ - ext/mesh/mesh/theory/dumps/32,9,80,dumb.txt
126
+ - ext/mesh/mesh/theory/experiment.py
127
+ - ext/mesh/mesh/theory/experiment_raw_results/.gitignore
128
+ - ext/mesh/mesh/theory/greedy_experiment.py
129
+ - ext/mesh/mesh/theory/greedy_experiment_copy.py
130
+ - ext/mesh/mesh/theory/greedy_experiment_q.py
131
+ - ext/mesh/mesh/theory/makeGraph.py
132
+ - ext/mesh/mesh/theory/manyreps.png
133
+ - ext/mesh/mesh/theory/manystrings.png
134
+ - ext/mesh/mesh/theory/match_vs_color_experiment.py
135
+ - ext/mesh/mesh/theory/maxmatch_vs_E[Y].py
136
+ - ext/mesh/mesh/theory/maxmatch_vs_greedymatch.py
137
+ - ext/mesh/mesh/theory/maxvdeg+1imp++32,80.png
138
+ - ext/mesh/mesh/theory/mesh_util.py
139
+ - ext/mesh/mesh/theory/meshers.py
140
+ - ext/mesh/mesh/theory/meshingBenchmark.py
141
+ - ext/mesh/mesh/theory/occupancyComparison.py
142
+ - ext/mesh/mesh/theory/randmatch_vs_greedymatch.py
143
+ - ext/mesh/mesh/theory/randmatch_vs_greedymatch_q.py
144
+ - ext/mesh/mesh/theory/randmatch_vs_greedymatch_time.py
145
+ - ext/mesh/mesh/theory/read_mesh_dump.py
146
+ - ext/mesh/mesh/theory/test.py
147
+ - ext/mesh/mesh/tools/bazel
148
+ - lib/mesh/version.rb
149
+ - mesh.gemspec
150
+ homepage: https://github.com/ThreadedStream/mesh-rb
151
+ licenses: []
152
+ metadata: {}
153
+ post_install_message:
154
+ rdoc_options: []
155
+ require_paths:
156
+ - lib
157
+ required_ruby_version: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ required_rubygems_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ requirements: []
168
+ rubygems_version: 3.1.2
169
+ signing_key:
170
+ specification_version: 4
171
+ summary: mesh allocator. Still under maintenance
172
+ test_files: []