1. 10 1月, 2016 2 次提交
    • A
      proc/variables: prefetch of target process memory · b839eda2
      aarzilli 提交于
      Prefetch the entire memory of structs and arrays and cache it instead
      of issuing readMemory calls only when we get down to primitive types.
      This reduces the number of system calls to ptrace that variables makes.
      
      Improves performance in general, greatly improving it in some
      particular cases (involving large structs).
      
      Benchmarks without prefetching:
      	BenchmarkArray-4         	      10	 132189944 ns/op	   0.06 MB/s
      	BenchmarkArrayPointer-4  	       5	 202538503 ns/op	   0.04 MB/s
      	BenchmarkMap-4           	     500	   3804336 ns/op	   0.27 MB/s
      	BenchmarkGoroutinesInfo-4	      10	 126397104 ns/op
      	BenchmarkLocalVariables-4	     500	   2494846 ns/op
      
      Benchmarks with prefetching:
      	BenchmarkArray-4         	     200	  10719087 ns/op	   0.76 MB/s
      	BenchmarkArrayPointer-4  	     100	  11931326 ns/op	   0.73 MB/s
      	BenchmarkMap-4           	    1000	   1466479 ns/op	   0.70 MB/s
      	BenchmarkGoroutinesInfo-4	      10	 103407004 ns/op
      	BenchmarkLocalVariables-4	    1000	   1530395 ns/op
      
      Improvement factors:
      	BenchmarkArray				12.33x
      	BenchmarkArrayPointer		16.97x
      	BenchmarkMap					 2.59x
      	BenchmarkGoroutinesInfo		 1.22x
      	BenchmarkLocalVariables		 1.63x
      b839eda2
    • A
      proc/variables: bugfix: infinite loading loop through maps · 6d50aba7
      aarzilli 提交于
      Fixes #341
      6d50aba7
  2. 27 12月, 2015 1 次提交
  3. 19 12月, 2015 1 次提交
  4. 16 12月, 2015 4 次提交
  5. 07 11月, 2015 3 次提交
  6. 04 11月, 2015 1 次提交
    • A
      proc: Implements expression interpreter · 43b64ec3
      aarzilli 提交于
      Supported operators:
      
      - All (binary and unary) operators between basic types except <-,
      ++ and -- (includes & to take the address of an expression)
      - Comparison operators between supported compound types
      - Typecast of integer constants into pointer types
      - struct members
      - indexing of arrays, slices and strings
      - slicing of arrays, slices and strings
      - pointer dereferencing
      - true, false and nil constants
      
      Implements #116, #117 and #251
      43b64ec3
  7. 29 10月, 2015 1 次提交
  8. 29 9月, 2015 1 次提交
  9. 26 4月, 2015 1 次提交