From 89ae1b064f3b9f28a255fb3298a2379121a904f2 Mon Sep 17 00:00:00 2001 From: Teiva Harsanyi <934784+teivah@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:35:26 +0200 Subject: [PATCH] Adding sections --- .../53f24aa072dbcfbf532abf9e62945e11.png | Bin 0 -> 45309 bytes .../6c3afdd84225436ef1eddcf2b1c82547.png | Bin 0 -> 43070 bytes .../c7b8072b4d90baf29b7e819cb3a02064.png | Bin 0 -> 45625 bytes .../ea9a0a27b2b9ccc98f485e832ea2eef4.png | Bin 0 -> 43420 bytes .../ee1d2159b11eef4ec692741f34e52fcd.png | Bin 0 -> 34668 bytes docs/28-maps-memory-leaks.md | 111 ++ docs/89-benchmarks.md | 367 +++++ docs/98-profiling-execution-tracing.md | 52 +- docs/chapter-1.md | 10 +- docs/img/map-leak-1.png | Bin 0 -> 6719 bytes docs/img/map-leak-2.png | Bin 0 -> 12103 bytes docs/img/matrix.png | Bin 0 -> 36949 bytes docs/index.md | 40 +- mkdocs.yml | 8 + site/28-maps-memory-leaks/index.html | 984 +++++++++++++ site/404.html | 42 +- site/89-benchmarks/index.html | 1257 +++++++++++++++++ site/9-generics/index.html | 59 +- .../98-profiling-execution-tracing/index.html | 119 +- .../images/social/28-maps-memory-leaks.png | Bin 0 -> 43070 bytes site/assets/images/social/89-benchmarks.png | Bin 0 -> 45625 bytes site/assets/javascripts/glightbox.min.js | 1 + site/assets/stylesheets/glightbox.min.css | 1 + site/book/index.html | 59 +- site/chapter-1/index.html | 75 +- site/external/index.html | 57 +- site/img/map-leak-1.png | Bin 0 -> 6719 bytes site/img/map-leak-2.png | Bin 0 -> 12103 bytes site/img/matrix.png | Bin 0 -> 36949 bytes site/index.html | 126 +- site/jobs/index.html | 57 +- site/search/search_index.json | 2 +- site/sitemap.xml | 26 +- site/sitemap.xml.gz | Bin 271 -> 296 bytes site/zh/index.html | 57 +- 35 files changed, 3381 insertions(+), 129 deletions(-) create mode 100644 .cache/plugin/social/53f24aa072dbcfbf532abf9e62945e11.png create mode 100644 .cache/plugin/social/6c3afdd84225436ef1eddcf2b1c82547.png create mode 100644 .cache/plugin/social/c7b8072b4d90baf29b7e819cb3a02064.png create mode 100644 .cache/plugin/social/ea9a0a27b2b9ccc98f485e832ea2eef4.png create mode 100644 .cache/plugin/social/ee1d2159b11eef4ec692741f34e52fcd.png create mode 100644 docs/28-maps-memory-leaks.md create mode 100644 docs/89-benchmarks.md create mode 100644 docs/img/map-leak-1.png create mode 100644 docs/img/map-leak-2.png create mode 100644 docs/img/matrix.png create mode 100644 site/28-maps-memory-leaks/index.html create mode 100644 site/89-benchmarks/index.html create mode 100644 site/assets/images/social/28-maps-memory-leaks.png create mode 100644 site/assets/images/social/89-benchmarks.png create mode 100644 site/assets/javascripts/glightbox.min.js create mode 100644 site/assets/stylesheets/glightbox.min.css create mode 100644 site/img/map-leak-1.png create mode 100644 site/img/map-leak-2.png create mode 100644 site/img/matrix.png diff --git a/.cache/plugin/social/53f24aa072dbcfbf532abf9e62945e11.png b/.cache/plugin/social/53f24aa072dbcfbf532abf9e62945e11.png new file mode 100644 index 0000000000000000000000000000000000000000..085b61edaea8920298862465fb2b6b25cec0d6dc GIT binary patch literal 45309 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 Jr*Rav21I===Z`JfiT@ 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

qD5}Naoa2R6_J?-i(@`(0 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 literal 0 HcmV?d00001 diff --git a/.cache/plugin/social/c7b8072b4d90baf29b7e819cb3a02064.png b/.cache/plugin/social/c7b8072b4d90baf29b7e819cb3a02064.png new file mode 100644 index 0000000000000000000000000000000000000000..1730d93202330335ff9516bf154e09e479558822 GIT binary patch literal 45625 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 literal 0 HcmV?d00001 diff --git a/.cache/plugin/social/ea9a0a27b2b9ccc98f485e832ea2eef4.png b/.cache/plugin/social/ea9a0a27b2b9ccc98f485e832ea2eef4.png new file mode 100644 index 0000000000000000000000000000000000000000..4a6217e609cfdb8e2ae5e05defc4cfa25e01c013 GIT binary patch literal 43420 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 + ![](img/map-leak-1.png) +

Figure 1: A hash table example with a focus on bucket 0.
+ + +Each bucket is a fixed-size array of eight elements. In the case of an insertion into a bucket that is already full (a bucket overflow), Go creates another bucket of eight elements and links the previous one to it. Figure 2 shows an example: + +
+ ![](img/map-leak-2.png) +
Figure 2: In case of a bucket overflow, Go allocates a new bucket and links the previous bucket to it.
+
+ + +Under the hood, a Go map is a pointer to a runtime.hmap struct. This struct contains multiple fields, including a B field, giving the number of buckets in the map: + +```go +type hmap struct { + B uint8 // log_2 of # of buckets + // (can hold up to loadFactor * 2^B items) + // ... +} +``` + +After adding 1 million elements, the value of B equals 18, which means 2¹⁸ = 262,144 buckets. When we remove 1 million elements, what’s the value of B? Still 18. Hence, the map still contains the same number of buckets. + +The reason is that the number of buckets in a map cannot shrink. Therefore, removing elements from a map doesn’t impact the number of existing buckets; it just zeroes the slots in the buckets. A map can only grow and have more buckets; it never shrinks. + +In the previous example, we went from 461 MB to 293 MB because the elements were collected, but running the GC didn’t impact the map itself. Even the number of extra buckets (the buckets created because of overflows) remains the same. + +Let’s take a step back and discuss when the fact that a map cannot shrink can be a problem. Imagine building a cache using a `map[int][128]byte`. This map holds per customer ID (the `int`), a sequence of 128 bytes. Now, suppose we want to save the last 1,000 customers. The map size will remain constant, so we shouldn’t worry about the fact that a map cannot shrink. + +However, let’s say we want to store one hour of data. Meanwhile, our company has decided to have a big promotion for Black Friday: in one hour, we may have millions of customers connected to our system. But a few days after Black Friday, our map will contain the same number of buckets as during the peak time. This explains why we can experience high memory consumption that doesn’t significantly decrease in such a scenario. + +What are the solutions if we don’t want to manually restart our service to clean the amount of memory consumed by the map? One solution could be to re-create a copy of the current map at a regular pace. For example, every hour, we can build a new map, copy all the elements, and release the previous one. The main drawback of this option is that following the copy and until the next garbage collection, we may consume twice the current memory for a short period. + +Another solution would be to change the map type to store an array pointer: `map[int]*[128]byte`. It doesn’t solve the fact that we will have a significant number of buckets; however, each bucket entry will reserve the size of a pointer for the value instead of 128 bytes (8 bytes on 64-bit systems and 4 bytes on 32-bit systems). + +Coming back to the original scenario, let’s compare the memory consumption for each map type following each step. The following table shows the comparison. + +| Step | `map[int][128]byte` | `map[int]*[128]byte` | +|---|---|---| +| Allocate an empty map | 0 MB | 0 MB | +| Add 1 million elements | 461 MB | 182 MB | +| Remove all the elements and run a GC | 293 MB | 38 MB | + +???+ note + + If a key or a value is over 128 bytes, Go won’t store it directly in the map bucket. Instead, Go stores a pointer to reference the key or the value. + +As we have seen, adding n elements to a map and then deleting all the elements means keeping the same number of buckets in memory. So, we must remember that because a Go map can only grow in size, so does its memory consumption. There is no automated strategy to shrink it. If this leads to high memory consumption, we can try different options such as forcing Go to re-create the map or using pointers to check if it can be optimized. diff --git a/docs/89-benchmarks.md b/docs/89-benchmarks.md new file mode 100644 index 0000000..db5d6f7 --- /dev/null +++ b/docs/89-benchmarks.md @@ -0,0 +1,367 @@ +--- +title: Writing inaccurate benchmarks (#89) +--- + +# Writing inaccurate benchmarks + +In general, we should never guess about performance. When writing optimizations, so many factors may come into play that even if we have a strong opinion about the results, it’s rarely a bad idea to test them. However, writing benchmarks isn’t straightforward. It can be pretty simple to write inaccurate benchmarks and make wrong assumptions based on them. The goal of this post is to examine four common and concrete traps leading to inaccuracy: + +* Not resetting or pausing the timer +* Making wrong assumptions about micro-benchmarks +* Not being careful about compiler optimizations +* Being fooled by the observer effect + +## General concepts + +Before discussing these traps, let’s briefly review how benchmarks work in Go. The skeleton of a benchmark is as follows: + +```go +func BenchmarkFoo(b *testing.B) { + for i := 0; i < b.N; i++ { + foo() + } +} +``` + +The function name starts with the `Benchmark` prefix. The function under test (foo) is called within the `for` loop. `b.N` represents a variable number of iterations. When running a benchmark, Go tries to make it match the requested benchmark time. The benchmark time is set by default to 1 second and can be changed with the `-benchtime` flag. `b.N` starts at 1; if the benchmark completes in under 1 second, `b.N` is increased, and the benchmark runs again until `b.N` roughly matches benchtime: + +``` +$ go test -bench=. +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkFoo-4 73 16511228 ns/op +``` + +Here, the benchmark took about 1 second, and `foo` was executed 73 times, for an average execution time of 16,511,228 nanoseconds. We can change the benchmark time using `-benchtime`: + +``` +$ go test -bench=. -benchtime=2s +BenchmarkFoo-4 150 15832169 ns/op +``` + +`foo` was executed roughly twice more than during the previous benchmark. + +Next, let’s look at some common traps. + +## Not resetting or pausing the timer + +In some cases, we need to perform operations before the benchmark loop. These operations may take quite a while (for example, generating a large slice of data) and may significantly impact the benchmark results: + +```go +func BenchmarkFoo(b *testing.B) { + expensiveSetup() + for i := 0; i < b.N; i++ { + functionUnderTest() + } +} +``` + +In this case, we can use the `ResetTimer` method before entering the loop: + +```go +func BenchmarkFoo(b *testing.B) { + expensiveSetup() + b.ResetTimer() // Reset the benchmark timer + for i := 0; i < b.N; i++ { + functionUnderTest() + } +} +``` + +Calling `ResetTimer` zeroes the elapsed benchmark time and memory allocation counters since the beginning of the test. This way, an expensive setup can be discarded from the test results. + +What if we have to perform an expensive setup not just once but within each loop iteration? + +```go +func BenchmarkFoo(b *testing.B) { + for i := 0; i < b.N; i++ { + expensiveSetup() + functionUnderTest() + } +} +``` + +We can’t reset the timer, because that would be executed during each loop iteration. But we can stop and resume the benchmark timer, surrounding the call to `expensiveSetup`: + +```go +func BenchmarkFoo(b *testing.B) { + for i := 0; i < b.N; i++ { + b.StopTimer() // Pause the benchmark timer + expensiveSetup() + b.StartTimer() // Resume the benchmark timer + functionUnderTest() + } +} +``` + +Here, we pause the benchmark timer to perform the expensive setup and then resume the timer. + +???+ note + + There’s one catch to remember about this approach: if the function under test is too fast to execute compared to the setup function, the benchmark may take too long to complete. The reason is that it would take much longer than 1 second to reach `benchtime`. Calculating the benchmark time is based solely on the execution time of `functionUnderTest`. So, if we wait a significant time in each loop iteration, the benchmark will be much slower than 1 second. If we want to keep the benchmark, one possible mitigation is to decrease `benchtime`. + +We must be sure to use the timer methods to preserve the accuracy of a benchmark. + +## Making wrong assumptions about micro-benchmarks + +A micro-benchmark measures a tiny computation unit, and it can be extremely easy to make wrong assumptions about it. Let’s say, for example, that we aren’t sure whether to use `atomic.StoreInt32` or `atomic.StoreInt64` (assuming that the values we handle will always fit in 32 bits). We want to write a benchmark to compare both functions: + +```go +func BenchmarkAtomicStoreInt32(b *testing.B) { + var v int32 + for i := 0; i < b.N; i++ { + atomic.StoreInt32(&v, 1) + } +} + +func BenchmarkAtomicStoreInt64(b *testing.B) { + var v int64 + for i := 0; i < b.N; i++ { + atomic.StoreInt64(&v, 1) + } +} +``` + +If we run this benchmark, here’s some example output: + +``` +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkAtomicStoreInt32 +BenchmarkAtomicStoreInt32-4 197107742 5.682 ns/op +BenchmarkAtomicStoreInt64 +BenchmarkAtomicStoreInt64-4 213917528 5.134 ns/op +``` + +We could easily take this benchmark for granted and decide to use `atomic.StoreInt64` because it appears to be faster. Now, for the sake of doing a fair benchmark, we reverse the order and test `atomic.StoreInt64` first, followed by `atomic.StoreInt32`. Here is some example output: + +``` +BenchmarkAtomicStoreInt64 +BenchmarkAtomicStoreInt64-4 224900722 5.434 ns/op +BenchmarkAtomicStoreInt32 +BenchmarkAtomicStoreInt32-4 230253900 5.159 ns/op +``` + +This time, `atomic.StoreInt32` has better results. What happened? + +In the case of micro-benchmarks, many factors can impact the results, such as machine activity while running the benchmarks, power management, thermal scaling, and better cache alignment of a sequence of instructions. We must remember that many factors, even outside the scope of our Go project, can impact the results. + +???+ note + + We should make sure the machine executing the benchmark is idle. However, external processes may run in the background, which may affect benchmark results. For that reason, tools such as `perflock` can limit how much CPU a benchmark can consume. For example, we can run a benchmark with 70% of the total available CPU, giving 30% to the OS and other processes and reducing the impact of the machine activity factor on the results. + +One option is to increase the benchmark time using the `-benchtime` option. Similar to the law of large numbers in probability theory, if we run a benchmark a large number of times, it should tend to approach its expected value (assuming we omit the benefits of instructions caching and similar mechanics). + +Another option is to use external tools on top of the classic benchmark tooling. For instance, the `benchstat` tool, which is part of the `golang.org/x` repository, allows us to compute and compare statistics about benchmark executions. + +Let’s run the benchmark 10 times using the `-count` option and pipe the output to a specific file: + +``` +$ go test -bench=. -count=10 | tee stats.txt +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkAtomicStoreInt32-4 234935682 5.124 ns/op +BenchmarkAtomicStoreInt32-4 235307204 5.112 ns/op +// ... +BenchmarkAtomicStoreInt64-4 235548591 5.107 ns/op +BenchmarkAtomicStoreInt64-4 235210292 5.090 ns/op +// ... +``` + +We can then run `benchstat` on this file: + +``` +$ benchstat stats.txt +name time/op +AtomicStoreInt32-4 5.10ns ± 1% +AtomicStoreInt64-4 5.10ns ± 1% +``` + +The results are the same: both functions take on average 5.10 nanoseconds to complete. We also see the percent variation between the executions of a given benchmark: ± 1%. This metric tells us that both benchmarks are stable, giving us more confidence in the computed average results. Therefore, instead of concluding that `atomic.StoreInt32` is faster or slower, we can conclude that its execution time is similar to that of `atomic.StoreInt64` for the usage we tested (in a specific Go version on a particular machine). + +In general, we should be cautious about micro-benchmarks. Many factors can significantly impact the results and potentially lead to wrong assumptions. Increasing the benchmark time or repeating the benchmark executions and computing stats with tools such as `benchstat` can be an efficient way to limit external factors and get more accurate results, leading to better conclusions. + +Let’s also highlight that we should be careful about using the results of a micro-benchmark executed on a given machine if another system ends up running the application. The production system may act quite differently from the one on which we ran the micro-benchmark. + +## Not being careful about compiler optimizations + +Another common mistake related to writing benchmarks is being fooled by compiler optimizations, which can also lead to wrong benchmark assumptions. In this section, we look at Go issue 14813 (https://github.com/golang/go/issues/14813, also discussed by Go project member Dave Cheney) with a population count function (a function that counts the number of bits set to 1): + +```go +const m1 = 0x5555555555555555 +const m2 = 0x3333333333333333 +const m4 = 0x0f0f0f0f0f0f0f0f +const h01 = 0x0101010101010101 + +func popcnt(x uint64) uint64 { + x -= (x >> 1) & m1 + x = (x & m2) + ((x >> 2) & m2) + x = (x + (x >> 4)) & m4 + return (x * h01) >> 56 +} +``` + +This function takes and returns a `uint64`. To benchmark this function, we can write the following: + +```go +func BenchmarkPopcnt1(b *testing.B) { + for i := 0; i < b.N; i++ { + popcnt(uint64(i)) + } +} +``` + +However, if we execute this benchmark, we get a surprisingly low result: + +``` +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkPopcnt1-4 1000000000 0.2858 ns/op +``` + +A duration of 0.28 nanoseconds is roughly one clock cycle, so this number is unreasonably low. The problem is that the developer wasn’t careful enough about compiler optimizations. In this case, the function under test is simple enough to be a candidate for inlining: an optimization that replaces a function call with the body of the called function and lets us prevent a function call, which has a small footprint. Once the function is inlined, the compiler notices that the call has no side effects and replaces it with the following benchmark: + +```go +func BenchmarkPopcnt1(b *testing.B) { + for i := 0; i < b.N; i++ { + // Empty + } +} +``` + +The benchmark is now empty — which is why we got a result close to one clock cycle. To prevent this from happening, a best practice is to follow this pattern: + +1. During each loop iteration, assign the result to a local variable (local in the context of the benchmark function). +2. Assign the latest result to a global variable. + +In our case, we write the following benchmark: + +```go +var global uint64 // Define a global variable + +func BenchmarkPopcnt2(b *testing.B) { + var v uint64 // Define a local variable + for i := 0; i < b.N; i++ { + v = popcnt(uint64(i)) // Assign the result to the local variable + } + global = v // Assign the result to the global variable +} +``` + +`global` is a global variable, whereas v is a local variable whose scope is the benchmark function. During each loop iteration, we assign the result of `popcnt` to the local variable. Then we assign the latest result to the global variable. + +???+ note + + Why not assign the result of the popcnt call directly to global to simplify the test? Writing to a global variable is slower than writing to a local variable (these concepts are discussed in 100 Go Mistakes, mistake #95: “[Not understanding stack vs. heap](https://100go.co#not-understanding-stack-vs-heap-95)”). Therefore, we should write each result to a local variable to limit the footprint during each loop iteration. + +If we run these two benchmarks, we now get a significant difference in the results: + +``` +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkPopcnt1-4 1000000000 0.2858 ns/op +BenchmarkPopcnt2-4 606402058 1.993 ns/op +``` + +`BenchmarkPopcnt2` is the accurate version of the benchmark. It guarantees that we avoid the inlining optimizations, which can artificially lower the execution time or even remove the call to the function under test. Relying on the results of `BenchmarkPopcnt1` could have led to wrong assumptions. + +Let’s remember the pattern to avoid compiler optimizations fooling benchmark results: assign the result of the function under test to a local variable, and then assign the latest result to a global variable. This best practice also prevents us from making incorrect assumptions. + +## Being fooled by the observer effect + +In physics, the observer effect is the disturbance of an observed system by the act of observation. This effect can also be seen in benchmarks and can lead to wrong assumptions about results. Let’s look at a concrete example and then try to mitigate it. + +We want to implement a function receiving a matrix of `int64` elements. This matrix has a fixed number of 512 columns, and we want to compute the total sum of the first eight columns, as shown in figure 1. + +
+ ![](img/matrix.png) +
Figure 1: Computing the sum of the first eight columns.
+
+ +For the sake of optimizations, we also want to determine whether varying the number of columns has an impact, so we also implement a second function with 513 columns. The implementation is the following: + +```go +func calculateSum512(s [][512]int64) int64 { + var sum int64 + for i := 0; i < len(s); i++ { // Iterate over each row + for j := 0; j < 8; j++ { // Iterate over the first eight columns + sum += s[i][j] // Increment sum + } + } + return sum +} + +func calculateSum513(s [][513]int64) int64 { + // Same implementation as calculateSum512 +} +``` + +We iterate over each row and then over the first eight columns, and we increment a sum variable that we return. The implementation in `calculateSum513` remains the same. + +We want to benchmark these functions to decide which one is the most performant given a fixed number of rows: + +```go +const rows = 1000 + +var res int64 + +func BenchmarkCalculateSum512(b *testing.B) { + var sum int64 + s := createMatrix512(rows) // Create a matrix of 512 columns + b.ResetTimer() + for i := 0; i < b.N; i++ { + sum = calculateSum512(s) // Create a matrix of 512 columns + } + res = sum +} + +func BenchmarkCalculateSum513(b *testing.B) { + var sum int64 + s := createMatrix513(rows) // Create a matrix of 513 columns + b.ResetTimer() + for i := 0; i < b.N; i++ { + sum = calculateSum513(s) // Calculate the sum + } + res = sum +} +``` + +We want to create the matrix only once, to limit the footprint on the results. Therefore, we call `createMatrix512` and `createMatrix513` outside of the loop. We may expect the results to be similar as again we only want to iterate on the first eight columns, but this isn’t the case (on my machine): + +``` +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkCalculateSum512-4 81854 15073 ns/op +BenchmarkCalculateSum513-4 161479 7358 ns/op +``` + +The second benchmark with 513 columns is about 50% faster. Again, because we iterate only over the first eight columns, this result is quite surprising. + +To understand this difference, we need to understand the basics of CPU caches. In a nutshell, a CPU is composed of different caches (usually L1, L2, and L3). These caches reduce the average cost of accessing data from the main memory. In some conditions, the CPU can fetch data from the main memory and copy it to L1. In this case, the CPU tries to fetch into L1 the matrix’s subset that `calculateSum` is interested in (the first eight columns of each row). However, the matrix fits in memory in one case (513 columns) but not in the other case (512 columns). + +???+ note + + This isn’t in the scope of this post to explain why, but we look at this problem in 100 Go Mistakes, mistake #91: “[Not understanding CPU caches.](https://100go.co#not-understanding-cpu-caches-91)” + +Coming back to the benchmark, the main issue is that we keep reusing the same matrix in both cases. Because the function is repeated thousands of times, we don’t measure the function’s execution when it receives a plain new matrix. Instead, we measure a function that gets a matrix that already has a subset of the cells present in the cache. Therefore, because `calculateSum513` leads to fewer cache misses, it has a better execution time. + +This is an example of the observer effect. Because we keep observing a repeatedly called CPU-bound function, CPU caching may come into play and significantly affect the results. In this example, to prevent this effect, we should create a matrix during each test instead of reusing one: + +```go +func BenchmarkCalculateSum512(b *testing.B) { + var sum int64 + for i := 0; i < b.N; i++ { + b.StopTimer() + s := createMatrix512(rows) // Create a new matrix during each loop iteration + b.StartTimer() + sum = calculateSum512(s) + } + res = sum +} +``` + +A new matrix is now created during each loop iteration. If we run the benchmark again (and adjust `benchtime` — otherwise, it takes too long to execute), the results are closer to each other: + +``` +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz +BenchmarkCalculateSum512-4 1116 33547 ns/op +BenchmarkCalculateSum513-4 998 35507 ns/op +``` + +Instead of making the incorrect assumption that calculateSum513 is faster, we see that both benchmarks lead to similar results when receiving a new matrix. + +As we have seen in this post, because we were reusing the same matrix, CPU caches significantly impacted the results. To prevent this, we had to create a new matrix during each loop iteration. In general, we should remember that observing a function under test may lead to significant differences in results, especially in the context of micro-benchmarks of CPU-bound functions where low-level optimizations matter. Forcing a benchmark to re-create data during each iteration can be a good way to prevent this effect. \ No newline at end of file diff --git a/docs/98-profiling-execution-tracing.md b/docs/98-profiling-execution-tracing.md index f42661c..197b755 100644 --- a/docs/98-profiling-execution-tracing.md +++ b/docs/98-profiling-execution-tracing.md @@ -67,11 +67,17 @@ $ go tool pprof -http=:8080 This command opens a web UI showing the call graph. The next figure shows an example taken from an application. The larger the arrow, the more it was a hot path. We can then navigate into this graph and get execution insights. -![](img/screen-pprof-cpu.png) +
+ ![](img/screen-pprof-cpu.png) +
Figure 1: The call graph of an application during 30 seconds.
+
For example, the graph in the next figure tells us that during 30 seconds, 0.06 seconds were spent in the `decode` method (`*FetchResponse` receiver). Of these 0.06 seconds, 0.02 were spent in `RecordBatch.decode` and 0.01 in `makemap` (creating a map). -![](img/screen-pprof-sarama.png) +
+ ![](img/screen-pprof-sarama.png) +
Figure 2: Example call graph.
+
We can also access this kind of information from the web UI with different representations. For example, the Top view sorts the functions per execution time, and Flame Graph visualizes the execution time hierarchy. The UI can even display the expensive parts of the source code line by line. @@ -99,7 +105,10 @@ If we reach /debug/pprof/heap/, we get raw data that can be hard to read. Howeve The next figure shows an example of a heap graph. Calling the `MetadataResponse.decode` method leads to allocating 1536 KB of heap data (which represents 6.32% of the total heap). However, 0 out of these 1536 KB were allocated by this function directly, so we need to inspect the second call. The `TopicMetadata.decode` method allocated 512 KB out of the 1536 KB; the rest — 1024 KB — were allocated in another method. -![](img/screen-pprof-heap.png) +
+ ![](img/screen-pprof-heap.png) +
Figure 3: A heap graph.
+
This is how we can navigate the call chain to understand what part of an application is responsible for most of the heap allocations. We can also look at different sample types: @@ -132,7 +141,10 @@ $ go tool pprof -http=:8080 -diff_base The next figure shows the kind of data we can access. For example, the amount of heap memory held by the newTopicProducer method (top left) has decreased (–513 KB). In contrast, the amount held by updateMetadata (bottom right) has increased (+512 KB). Slow increases are normal. The second heap profile may have been calculated in the middle of a service call, for example. We can repeat this process or wait longer; the important part is to track steady increases in allocations of a specific object. -![](img/screen-pprof-heap-diff.png) +
+ ![](img/screen-pprof-heap-diff.png) +
Figure 4: The differences between the two heap profiles.
+
???+ note @@ -142,7 +154,10 @@ The next figure shows the kind of data we can access. For example, the amount of The `goroutine` profile reports the stack trace of all the current goroutines in an application. We can download a file using /debug/pprof/goroutine/?debug=0 and use go tool again. The next figure shows the kind of information we can get. -![](img/screen-pprof-goroutines.png) +
+ ![](img/screen-pprof-goroutines.png) +
Figure 5: Goroutine graph.
+
We can see the current state of the application and how many goroutines were created per function. In this case, `withRecover` has created 296 ongoing goroutines (63%), and 29 were related to a call to `responseFeeder`. @@ -222,19 +237,31 @@ $ go tool trace trace.out The web browser opens, and we can click View Trace to see all the traces during a specific timeframe, as shown in the next figure. This figure represents about 150 ms. We can see multiple helpful metrics, such as the goroutine count and the heap size. The heap size grows steadily until a GC is triggered. We can also observe the activity of the Go application per CPU core. The timeframe starts with user-level code; then a “stop the world” is executed, which occupies the four CPU cores for approximately 40 ms. -![](img/tracing.png) +
+ ![](img/tracing.png) +
Figure 6: Showing goroutine activity and runtime events such as a GC phase.
+
Regarding concurrency, we can see that this version uses all the available CPU cores on the machine. However, the next figure zooms in on a portion of 1 ms. Each bar corresponds to a single goroutine execution. Having too many small bars doesn’t look right: it means execution that is poorly parallelized. -![](img/screen-mergesort1.png) +
+ ![](img/screen-mergesort1.png) +
Figure 7: Too many small bars mean poorly parallelized execution.
+
The next figure zooms even closer to see how these goroutines are orchestrated. Roughly 50% of the CPU time isn’t spent executing application code. The white spaces represent the time the Go runtime takes to spin up and orchestrate new goroutines. -![](img/screen-mergesort11.png) +
+ ![](img/screen-mergesort11.png) +
Figure 8: About 50% of CPU time is spent handling goroutine switches.
+
Let’s compare this with the second parallel implementation, which was about an order of magnitude faster. The next figure again zooms to a 1 ms timeframe. -![](img/screen-mergesort2.png) +
+ ![](img/screen-mergesort2.png) +
Figure 9: The number of white spaces has been significantly reduced, proving that the CPU is more fully occupied.
+
Each goroutine takes more time to execute, and the number of white spaces has been significantly reduced. Hence, the CPU is much more occupied executing application code than it was in the first version. Each millisecond of CPU time is spent more efficiently, explaining the benchmark differences. @@ -261,7 +288,12 @@ fibStore.End() Using `go tool`, we can get more precise information about how these two tasks perform. In the previous trace UI, we can see the boundaries for each task per goroutine. In User-Defined Tasks, we can follow the duration distribution: -![](img/screen-tracing-user-level.png) +
+ ![](img/screen-tracing-user-level.png) +
Figure 10: Distribution of user-level tasks.
+
+ + We see that in most cases, the `fibonacci` task is executed in less than 15 microseconds, whereas the `store` task takes less than 6309 nanoseconds. diff --git a/docs/chapter-1.md b/docs/chapter-1.md index c601548..f7b8547 100644 --- a/docs/chapter-1.md +++ b/docs/chapter-1.md @@ -63,7 +63,7 @@ This book aims to help accelerate our journey toward proficiency by delving into Why should we read a book about common Go mistakes? Why not deepen our knowledge with an ordinary book that would dig into different topics? -In a 2011 article, neuroscientists proved that the best time for brain growth is when we’re facing mistakes. Haven’t we all experienced the process of learning from a mistake and recalling that occasion after months or even years, when some context related to it? As presented in another article, by Janet Metcalfe, this happens because mistakes have a facilitative effect. The main idea is that we can remember not only the error but also the context surrounding the mistake. This is one of the reasons why learning from mistakes is so efficient. +In a 2011 article, neuroscientists proved that the best time for brain growth is when we’re facing mistakes. [^1] Haven’t we all experienced the process of learning from a mistake and recalling that occasion after months or even years, when some context related to it? As presented in another article, by Janet Metcalfe, this happens because mistakes have a facilitative effect. [^2] The main idea is that we can remember not only the error but also the context surrounding the mistake. This is one of the reasons why learning from mistakes is so efficient. To strengthen this facilitative effect, this book accompanies each mistake as much as possible with real-world examples. This book isn’t only about theory; it also helps us get better at avoiding mistakes and making more well-informed, conscious decisions because we now understand the rationale behind them. @@ -85,7 +85,7 @@ We introduce each mistake category next. ### Bugs -The first type of mistake and probably the most obvious is software bugs. In 2020, a study conducted by Synopsys estimated the cost of software bugs in the U.S. alone to be over $2 trillion. +The first type of mistake and probably the most obvious is software bugs. In 2020, a study conducted by Synopsys estimated the cost of software bugs in the U.S. alone to be over $2 trillion. [^3] Furthermore, bugs can also lead to tragic impacts. We can, for example, mention cases such as Therac-25, a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL). Because of a race condition, the machine gave its patients radiation doses that were hundreds of times greater than expected, leading to the death of three patients. Hence, software bugs aren’t only about money. As developers, we should remember how impactful our jobs are. @@ -129,4 +129,8 @@ In this book, we will cover many cases and concrete examples that will help us t * Go is a modern programming language that enables developer productivity, which is crucial for most companies today. * Go is simple to learn but not easy to master. This is why we need to deepen our knowledge to make the most effective use of the language. -* Learning via mistakes and concrete examples is a powerful way to be proficient in a language. This book will accelerate our path to proficiency by exploring 100 common mistakes. \ No newline at end of file +* Learning via mistakes and concrete examples is a powerful way to be proficient in a language. This book will accelerate our path to proficiency by exploring 100 common mistakes. + +[^1]: J. S. Moser, H. S. Schroder, et al., “Mind Your Errors: Evidence for a Neural Mechanism Linking Growth Mindset to Adaptive Posterror Adjustments,” Psychological Science, vol. 22, no. 12, pp. 1484–1489, Dec. 2011. +[^2]: J. Metcalfe, “Learning from Errors,” Annual Review of Psychology, vol. 68, pp. 465–489, Jan. 2017. +[^3]: Synopsys, “The Cost of Poor Software Quality in the US: A 2020 Report.” 2020. [https://news.synopsys.com/2021-01-06-Synopsys-Sponsored-CISQ-Research-Estimates-Cost-of-Poor-Software-Quality-in-the-US-2-08-Trillion-in-2020](https://news.synopsys.com/2021-01-06-Synopsys-Sponsored-CISQ-Research-Estimates-Cost-of-Poor-Software-Quality-in-the-US-2-08-Trillion-in-2020). diff --git a/docs/img/map-leak-1.png b/docs/img/map-leak-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c478152110b7085b8168ca68569c780fba30123 GIT binary patch literal 6719 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 O1Zb-psFkSP4gVh&X`2!eHQ3ZkU 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index c7aad01..4955e29 100644 --- a/docs/index.md +++ b/docs/index.md @@ -169,8 +169,6 @@ The `any` type can be helpful if there is a genuine need for accepting or return Read the full section [here](9-generics.md). - - [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/02-code-project-organization/9-generics/main.go) ### Not being aware of the possible problems with type embedding (#10) @@ -479,7 +477,7 @@ When using slicing, we must remember that we can face a situation leading to uni [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/03-data-types/25-slice-append/main.go) -### Slice and memory leaks (#26) +### Slices and memory leaks (#26) ???+ info "TL;DR" @@ -509,13 +507,13 @@ If we know up front the number of elements a map will contain, we should create [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/03-data-types/27-map-init/main_test.go) -### [Map and memory leaks](https://teivah.medium.com/maps-and-memory-leaks-in-go-a85ebe6e7e69) (#28) +### Maps and memory leaks (#28) ???+ info "TL;DR" A map can always grow in memory, but it never shrinks. Hence, if it leads to some memory issues, you can try different options, such as forcing Go to recreate the map or using pointers. - +Read the full section [here](28-maps-memory-leaks.md). [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/03-data-types/28-map-memory-leak/main.go) @@ -1570,33 +1568,21 @@ You should have a good reason to specify a channel size other than one for buffe [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/11-testing/88-utility-package/iotest/main_test.go) -### [Writing inaccurate benchmarks](https://teivah.medium.com/how-to-write-accurate-benchmarks-in-go-4266d7dd1a95) (#89) +### Writing inaccurate benchmarks (#89) -* Not resetting or pausing the timer +???+ info "TL;DR" - Use time methods to preserve the accuracy of a benchmark. + Regarding benchmarks: - [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/11-testing/89-benchmark/timer/main_test.go) + * Use time methods to preserve the accuracy of a benchmark. + * Increasing benchtime or using tools such as benchstat can be helpful when dealing with micro-benchmarks. + * Be careful with the results of a micro-benchmark if the system that ends up running the application is different from the one running the micro-bench- mark. + * Make sure the function under test leads to a side effect, to prevent compiler optimizations from fooling you about the benchmark results. + * To prevent the observer effect, force a benchmark to re-create the data used by a CPU-bound function. -* Making wrong assumptions about micro-benchmarks +Read the full section [here](89-benchmarks.md). - Increasing `benchtime` or using tools such as `benchstat` can be helpful when dealing with micro-benchmarks. - - Be careful with the results of a micro-benchmark if the system that ends up running the application is different from the one running the micro-benchmark. - - [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/11-testing/89-benchmark/wrong-assumptions/main_test.go) - -* Not being careful about compiler optimizations - - Make sure the function under test leads to a side effect, to prevent compiler optimizations from fooling you about the benchmark results. - - [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/11-testing/89-benchmark/compiler-optimizations/main_test.go) - -* Being fooled by the observer effect - - To prevent the observer effect, force a benchmark to re-create the data used by a CPU-bound function. - - [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/11-testing/89-benchmark/observer-effect/main_test.go) + [Source code](https://github.com/teivah/100-go-mistakes/tree/master/src/11-testing/89-benchmark/) ### Not exploring all the Go testing features (#90) diff --git a/mkdocs.yml b/mkdocs.yml index 48a9fde..a0f254f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -15,6 +15,7 @@ theme: - search.highlight - search.share - search.suggest + - content.code.copy palette: # Palette toggle for light mode - scheme: default @@ -31,6 +32,7 @@ theme: repo_url: https://github.com/teivah/100-go-mistakes plugins: - search + - glightbox - social: cards_layout_options: logo: img/cover.png @@ -59,6 +61,8 @@ nav: - index.md - Full Sections: - 9-generics.md + - 28-maps-memory-leaks.md + - 89-benchmarks.md - 98-profiling-execution-tracing.md - zh.md - ❤️ Go Jobs: @@ -73,4 +77,8 @@ markdown_extensions: - pymdownx.inlinehilite - pymdownx.snippets - pymdownx.superfences + - tables + - attr_list + - md_in_html + - footnotes copyright: Copyright © 2022 - 2023 Teiva Harsanyi diff --git a/site/28-maps-memory-leaks/index.html b/site/28-maps-memory-leaks/index.html new file mode 100644 index 0000000..0240525 --- /dev/null +++ b/site/28-maps-memory-leaks/index.html @@ -0,0 +1,984 @@ + + + + + + + + + + + + + + + + + + + + + + + + 100 Go Mistakes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Maps and memory leaks

+

When working with maps in Go, we need to understand some important characteristics of how a map grows and shrinks. Let’s delve into this to prevent issues that can cause memory leaks.

+

First, to view a concrete example of this problem, let’s design a scenario where we will work with the following map:

+
m := make(map[int][128]byte)
+
+

Each value of m is an array of 128 bytes. We will do the following:

+
    +
  1. Allocate an empty map.
  2. +
  3. Add 1 million elements.
  4. +
  5. Remove all the elements, and run a Garbage Collection (GC).
  6. +
+

After each step, we want to print the size of the heap (using a printAlloc utility function). This shows us how this example behaves memory-wise:

+
func main() {
+    n := 1_000_000
+    m := make(map[int][128]byte)
+    printAlloc()
+
+    for i := 0; i < n; i++ { // Adds 1 million elements
+        m[i] = [128]byte{}
+    }
+    printAlloc()
+
+    for i := 0; i < n; i++ { // Deletes 1 million elements
+        delete(m, i)
+    }
+
+    runtime.GC() // Triggers a manual GC
+    printAlloc()
+    runtime.KeepAlive(m) // Keeps a reference to m so that the map isn’t collected
+}
+
+func printAlloc() {
+    var m runtime.MemStats
+    runtime.ReadMemStats(&m)
+    fmt.Printf("%d KB\n", m.Alloc/1024)
+}
+
+

We allocate an empty map, add 1 million elements, remove 1 million elements, and then run a GC. We also make sure to keep a reference to the map using runtime.KeepAlive so that the map isn’t collected as well. Let’s run this example:

+
0 MB   <-- After m is allocated
+461 MB <-- After we add 1 million elements
+293 MB <-- After we remove 1 million elements
+
+

What can we observe? At first, the heap size is minimal. Then it grows significantly after having added 1 million elements to the map. But if we expected the heap size to decrease after removing all the elements, this isn’t how maps work in Go. In the end, even though the GC has collected all the elements, the heap size is still 293 MB. So the memory shrunk, but not as we might have expected. What’s the rationale? We need to delve into how a map works in Go.

+

A map provides an unordered collection of key-value pairs in which all the keys are distinct. In Go, a map is based on the hash table data structure: an array where each element is a pointer to a bucket of key-value pairs, as shown in figure 1.

+
+

+

+
Figure 1: A hash table example with a focus on bucket 0.
+
+

Each bucket is a fixed-size array of eight elements. In the case of an insertion into a bucket that is already full (a bucket overflow), Go creates another bucket of eight elements and links the previous one to it. Figure 2 shows an example:

+
+

+

+
Figure 2: In case of a bucket overflow, Go allocates a new bucket and links the previous bucket to it.
+
+

Under the hood, a Go map is a pointer to a runtime.hmap struct. This struct contains multiple fields, including a B field, giving the number of buckets in the map:

+
type hmap struct {
+    B uint8 // log_2 of # of buckets
+            // (can hold up to loadFactor * 2^B items)
+    // ...
+}
+
+

After adding 1 million elements, the value of B equals 18, which means 2¹⁸ = 262,144 buckets. When we remove 1 million elements, what’s the value of B? Still 18. Hence, the map still contains the same number of buckets.

+

The reason is that the number of buckets in a map cannot shrink. Therefore, removing elements from a map doesn’t impact the number of existing buckets; it just zeroes the slots in the buckets. A map can only grow and have more buckets; it never shrinks.

+

In the previous example, we went from 461 MB to 293 MB because the elements were collected, but running the GC didn’t impact the map itself. Even the number of extra buckets (the buckets created because of overflows) remains the same.

+

Let’s take a step back and discuss when the fact that a map cannot shrink can be a problem. Imagine building a cache using a map[int][128]byte. This map holds per customer ID (the int), a sequence of 128 bytes. Now, suppose we want to save the last 1,000 customers. The map size will remain constant, so we shouldn’t worry about the fact that a map cannot shrink.

+

However, let’s say we want to store one hour of data. Meanwhile, our company has decided to have a big promotion for Black Friday: in one hour, we may have millions of customers connected to our system. But a few days after Black Friday, our map will contain the same number of buckets as during the peak time. This explains why we can experience high memory consumption that doesn’t significantly decrease in such a scenario.

+

What are the solutions if we don’t want to manually restart our service to clean the amount of memory consumed by the map? One solution could be to re-create a copy of the current map at a regular pace. For example, every hour, we can build a new map, copy all the elements, and release the previous one. The main drawback of this option is that following the copy and until the next garbage collection, we may consume twice the current memory for a short period.

+

Another solution would be to change the map type to store an array pointer: map[int]*[128]byte. It doesn’t solve the fact that we will have a significant number of buckets; however, each bucket entry will reserve the size of a pointer for the value instead of 128 bytes (8 bytes on 64-bit systems and 4 bytes on 32-bit systems).

+

Coming back to the original scenario, let’s compare the memory consumption for each map type following each step. The following table shows the comparison.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Stepmap[int][128]bytemap[int]*[128]byte
Allocate an empty map0 MB0 MB
Add 1 million elements461 MB182 MB
Remove all the elements and run a GC293 MB38 MB
+
+Note +

If a key or a value is over 128 bytes, Go won’t store it directly in the map bucket. Instead, Go stores a pointer to reference the key or the value.

+
+

As we have seen, adding n elements to a map and then deleting all the elements means keeping the same number of buckets in memory. So, we must remember that because a Go map can only grow in size, so does its memory consumption. There is no automated strategy to shrink it. If this leads to high memory consumption, we can try different options such as forcing Go to re-create the map or using pointers to check if it can be optimized.

+ + + + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/404.html b/site/404.html index 6834d85..672e304 100644 --- a/site/404.html +++ b/site/404.html @@ -553,6 +553,46 @@ +
  • + + + + + Maps and memory leaks (#28) + + + + +
  • + + + + + + + + + +
  • + + + + + Writing inaccurate benchmarks (#89) + + + + +
  • + + + + + + + + +
  • @@ -755,7 +795,7 @@
    - + diff --git a/site/89-benchmarks/index.html b/site/89-benchmarks/index.html new file mode 100644 index 0000000..2a87f5f --- /dev/null +++ b/site/89-benchmarks/index.html @@ -0,0 +1,1257 @@ + + + + + + + + + + + + + + + + + + + + + + + + 100 Go Mistakes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + + +
    +
    +
    + + + + + + + +
    +
    + + + + + + + +

    Writing inaccurate benchmarks

    +

    In general, we should never guess about performance. When writing optimizations, so many factors may come into play that even if we have a strong opinion about the results, it’s rarely a bad idea to test them. However, writing benchmarks isn’t straightforward. It can be pretty simple to write inaccurate benchmarks and make wrong assumptions based on them. The goal of this post is to examine four common and concrete traps leading to inaccuracy:

    +
      +
    • Not resetting or pausing the timer
    • +
    • Making wrong assumptions about micro-benchmarks
    • +
    • Not being careful about compiler optimizations
    • +
    • Being fooled by the observer effect
    • +
    +

    General concepts

    +

    Before discussing these traps, let’s briefly review how benchmarks work in Go. The skeleton of a benchmark is as follows:

    +
    func BenchmarkFoo(b *testing.B) {
    +    for i := 0; i < b.N; i++ {
    +        foo()
    +    }
    +}
    +
    +

    The function name starts with the Benchmark prefix. The function under test (foo) is called within the for loop. b.N represents a variable number of iterations. When running a benchmark, Go tries to make it match the requested benchmark time. The benchmark time is set by default to 1 second and can be changed with the -benchtime flag. b.N starts at 1; if the benchmark completes in under 1 second, b.N is increased, and the benchmark runs again until b.N roughly matches benchtime:

    +
    $ go test -bench=.
    +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkFoo-4                73          16511228 ns/op
    +
    +

    Here, the benchmark took about 1 second, and foo was executed 73 times, for an average execution time of 16,511,228 nanoseconds. We can change the benchmark time using -benchtime:

    +
    $ go test -bench=. -benchtime=2s
    +BenchmarkFoo-4               150          15832169 ns/op
    +
    +

    foo was executed roughly twice more than during the previous benchmark.

    +

    Next, let’s look at some common traps.

    +

    Not resetting or pausing the timer

    +

    In some cases, we need to perform operations before the benchmark loop. These operations may take quite a while (for example, generating a large slice of data) and may significantly impact the benchmark results:

    +
    func BenchmarkFoo(b *testing.B) {
    +    expensiveSetup()
    +    for i := 0; i < b.N; i++ {
    +        functionUnderTest()
    +    }
    +}
    +
    +

    In this case, we can use the ResetTimer method before entering the loop:

    +
    func BenchmarkFoo(b *testing.B) {
    +    expensiveSetup()
    +    b.ResetTimer() // Reset the benchmark timer
    +    for i := 0; i < b.N; i++ {
    +        functionUnderTest()
    +    }
    +}
    +
    +

    Calling ResetTimer zeroes the elapsed benchmark time and memory allocation counters since the beginning of the test. This way, an expensive setup can be discarded from the test results.

    +

    What if we have to perform an expensive setup not just once but within each loop iteration?

    +
    func BenchmarkFoo(b *testing.B) {
    +    for i := 0; i < b.N; i++ {
    +        expensiveSetup()
    +        functionUnderTest()
    +    }
    +}
    +
    +

    We can’t reset the timer, because that would be executed during each loop iteration. But we can stop and resume the benchmark timer, surrounding the call to expensiveSetup:

    +
    func BenchmarkFoo(b *testing.B) {
    +    for i := 0; i < b.N; i++ {
    +        b.StopTimer() // Pause the benchmark timer
    +        expensiveSetup()
    +        b.StartTimer() // Resume the benchmark timer
    +        functionUnderTest()
    +    }
    +}
    +
    +

    Here, we pause the benchmark timer to perform the expensive setup and then resume the timer.

    +
    +Note +

    There’s one catch to remember about this approach: if the function under test is too fast to execute compared to the setup function, the benchmark may take too long to complete. The reason is that it would take much longer than 1 second to reach benchtime. Calculating the benchmark time is based solely on the execution time of functionUnderTest. So, if we wait a significant time in each loop iteration, the benchmark will be much slower than 1 second. If we want to keep the benchmark, one possible mitigation is to decrease benchtime.

    +
    +

    We must be sure to use the timer methods to preserve the accuracy of a benchmark.

    +

    Making wrong assumptions about micro-benchmarks

    +

    A micro-benchmark measures a tiny computation unit, and it can be extremely easy to make wrong assumptions about it. Let’s say, for example, that we aren’t sure whether to use atomic.StoreInt32 or atomic.StoreInt64 (assuming that the values we handle will always fit in 32 bits). We want to write a benchmark to compare both functions:

    +
    func BenchmarkAtomicStoreInt32(b *testing.B) {
    +    var v int32
    +    for i := 0; i < b.N; i++ {
    +        atomic.StoreInt32(&v, 1)
    +    }
    +}
    +
    +func BenchmarkAtomicStoreInt64(b *testing.B) {
    +    var v int64
    +    for i := 0; i < b.N; i++ {
    +        atomic.StoreInt64(&v, 1)
    +    }
    +}
    +
    +

    If we run this benchmark, here’s some example output:

    +
    cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkAtomicStoreInt32
    +BenchmarkAtomicStoreInt32-4    197107742           5.682 ns/op
    +BenchmarkAtomicStoreInt64
    +BenchmarkAtomicStoreInt64-4    213917528           5.134 ns/op
    +
    +

    We could easily take this benchmark for granted and decide to use atomic.StoreInt64 because it appears to be faster. Now, for the sake of doing a fair benchmark, we reverse the order and test atomic.StoreInt64 first, followed by atomic.StoreInt32. Here is some example output:

    +
    BenchmarkAtomicStoreInt64
    +BenchmarkAtomicStoreInt64-4    224900722           5.434 ns/op
    +BenchmarkAtomicStoreInt32
    +BenchmarkAtomicStoreInt32-4    230253900           5.159 ns/op
    +
    +

    This time, atomic.StoreInt32 has better results. What happened?

    +

    In the case of micro-benchmarks, many factors can impact the results, such as machine activity while running the benchmarks, power management, thermal scaling, and better cache alignment of a sequence of instructions. We must remember that many factors, even outside the scope of our Go project, can impact the results.

    +
    +Note +

    We should make sure the machine executing the benchmark is idle. However, external processes may run in the background, which may affect benchmark results. For that reason, tools such as perflock can limit how much CPU a benchmark can consume. For example, we can run a benchmark with 70% of the total available CPU, giving 30% to the OS and other processes and reducing the impact of the machine activity factor on the results.

    +
    +

    One option is to increase the benchmark time using the -benchtime option. Similar to the law of large numbers in probability theory, if we run a benchmark a large number of times, it should tend to approach its expected value (assuming we omit the benefits of instructions caching and similar mechanics).

    +

    Another option is to use external tools on top of the classic benchmark tooling. For instance, the benchstat tool, which is part of the golang.org/x repository, allows us to compute and compare statistics about benchmark executions.

    +

    Let’s run the benchmark 10 times using the -count option and pipe the output to a specific file:

    +
    $ go test -bench=. -count=10 | tee stats.txt
    +cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkAtomicStoreInt32-4     234935682                5.124 ns/op
    +BenchmarkAtomicStoreInt32-4     235307204                5.112 ns/op
    +// ...
    +BenchmarkAtomicStoreInt64-4     235548591                5.107 ns/op
    +BenchmarkAtomicStoreInt64-4     235210292                5.090 ns/op
    +// ...
    +
    +

    We can then run benchstat on this file:

    +
    $ benchstat stats.txt
    +name                time/op
    +AtomicStoreInt32-4  5.10ns ± 1%
    +AtomicStoreInt64-4  5.10ns ± 1%
    +
    +

    The results are the same: both functions take on average 5.10 nanoseconds to complete. We also see the percent variation between the executions of a given benchmark: ± 1%. This metric tells us that both benchmarks are stable, giving us more confidence in the computed average results. Therefore, instead of concluding that atomic.StoreInt32 is faster or slower, we can conclude that its execution time is similar to that of atomic.StoreInt64 for the usage we tested (in a specific Go version on a particular machine).

    +

    In general, we should be cautious about micro-benchmarks. Many factors can significantly impact the results and potentially lead to wrong assumptions. Increasing the benchmark time or repeating the benchmark executions and computing stats with tools such as benchstat can be an efficient way to limit external factors and get more accurate results, leading to better conclusions.

    +

    Let’s also highlight that we should be careful about using the results of a micro-benchmark executed on a given machine if another system ends up running the application. The production system may act quite differently from the one on which we ran the micro-benchmark.

    +

    Not being careful about compiler optimizations

    +

    Another common mistake related to writing benchmarks is being fooled by compiler optimizations, which can also lead to wrong benchmark assumptions. In this section, we look at Go issue 14813 (https://github.com/golang/go/issues/14813, also discussed by Go project member Dave Cheney) with a population count function (a function that counts the number of bits set to 1):

    +
    const m1 = 0x5555555555555555
    +const m2 = 0x3333333333333333
    +const m4 = 0x0f0f0f0f0f0f0f0f
    +const h01 = 0x0101010101010101
    +
    +func popcnt(x uint64) uint64 {
    +    x -= (x >> 1) & m1
    +    x = (x & m2) + ((x >> 2) & m2)
    +    x = (x + (x >> 4)) & m4
    +    return (x * h01) >> 56
    +}
    +
    +

    This function takes and returns a uint64. To benchmark this function, we can write the following:

    +
    func BenchmarkPopcnt1(b *testing.B) {
    +    for i := 0; i < b.N; i++ {
    +        popcnt(uint64(i))
    +    }
    +}
    +
    +

    However, if we execute this benchmark, we get a surprisingly low result:

    +
    cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkPopcnt1-4      1000000000               0.2858 ns/op
    +
    +

    A duration of 0.28 nanoseconds is roughly one clock cycle, so this number is unreasonably low. The problem is that the developer wasn’t careful enough about compiler optimizations. In this case, the function under test is simple enough to be a candidate for inlining: an optimization that replaces a function call with the body of the called function and lets us prevent a function call, which has a small footprint. Once the function is inlined, the compiler notices that the call has no side effects and replaces it with the following benchmark:

    +
    func BenchmarkPopcnt1(b *testing.B) {
    +    for i := 0; i < b.N; i++ {
    +        // Empty
    +    }
    +}
    +
    +

    The benchmark is now empty — which is why we got a result close to one clock cycle. To prevent this from happening, a best practice is to follow this pattern:

    +
      +
    1. During each loop iteration, assign the result to a local variable (local in the context of the benchmark function).
    2. +
    3. Assign the latest result to a global variable.
    4. +
    +

    In our case, we write the following benchmark:

    +
    var global uint64 // Define a global variable
    +
    +func BenchmarkPopcnt2(b *testing.B) {
    +    var v uint64 // Define a local variable
    +    for i := 0; i < b.N; i++ {
    +        v = popcnt(uint64(i)) // Assign the result to the local variable
    +    }
    +    global = v // Assign the result to the global variable
    +}
    +
    +

    global is a global variable, whereas v is a local variable whose scope is the benchmark function. During each loop iteration, we assign the result of popcnt to the local variable. Then we assign the latest result to the global variable.

    +
    +Note +

    Why not assign the result of the popcnt call directly to global to simplify the test? Writing to a global variable is slower than writing to a local variable (these concepts are discussed in 100 Go Mistakes, mistake #95: “Not understanding stack vs. heap”). Therefore, we should write each result to a local variable to limit the footprint during each loop iteration.

    +
    +

    If we run these two benchmarks, we now get a significant difference in the results:

    +
    cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkPopcnt1-4      1000000000               0.2858 ns/op
    +BenchmarkPopcnt2-4      606402058                1.993 ns/op
    +
    +

    BenchmarkPopcnt2 is the accurate version of the benchmark. It guarantees that we avoid the inlining optimizations, which can artificially lower the execution time or even remove the call to the function under test. Relying on the results of BenchmarkPopcnt1 could have led to wrong assumptions.

    +

    Let’s remember the pattern to avoid compiler optimizations fooling benchmark results: assign the result of the function under test to a local variable, and then assign the latest result to a global variable. This best practice also prevents us from making incorrect assumptions.

    +

    Being fooled by the observer effect

    +

    In physics, the observer effect is the disturbance of an observed system by the act of observation. This effect can also be seen in benchmarks and can lead to wrong assumptions about results. Let’s look at a concrete example and then try to mitigate it.

    +

    We want to implement a function receiving a matrix of int64 elements. This matrix has a fixed number of 512 columns, and we want to compute the total sum of the first eight columns, as shown in figure 1.

    +
    +

    +

    +
    Figure 1: Computing the sum of the first eight columns.
    +
    +

    For the sake of optimizations, we also want to determine whether varying the number of columns has an impact, so we also implement a second function with 513 columns. The implementation is the following:

    +
    func calculateSum512(s [][512]int64) int64 {
    +    var sum int64
    +    for i := 0; i < len(s); i++ { // Iterate over each row
    +        for j := 0; j < 8; j++ { // Iterate over the first eight columns
    +            sum += s[i][j] // Increment sum
    +        }
    +    }
    +    return sum
    +}
    +
    +func calculateSum513(s [][513]int64) int64 {
    +    // Same implementation as calculateSum512
    +}
    +
    +

    We iterate over each row and then over the first eight columns, and we increment a sum variable that we return. The implementation in calculateSum513 remains the same.

    +

    We want to benchmark these functions to decide which one is the most performant given a fixed number of rows:

    +
    const rows = 1000
    +
    +var res int64
    +
    +func BenchmarkCalculateSum512(b *testing.B) {
    +    var sum int64
    +    s := createMatrix512(rows) // Create a matrix of 512 columns
    +    b.ResetTimer()
    +    for i := 0; i < b.N; i++ {
    +        sum = calculateSum512(s) // Create a matrix of 512 columns
    +    }
    +    res = sum
    +}
    +
    +func BenchmarkCalculateSum513(b *testing.B) {
    +    var sum int64
    +    s := createMatrix513(rows) // Create a matrix of 513 columns
    +    b.ResetTimer()
    +    for i := 0; i < b.N; i++ {
    +        sum = calculateSum513(s) // Calculate the sum
    +    }
    +    res = sum
    +}
    +
    +

    We want to create the matrix only once, to limit the footprint on the results. Therefore, we call createMatrix512 and createMatrix513 outside of the loop. We may expect the results to be similar as again we only want to iterate on the first eight columns, but this isn’t the case (on my machine):

    +
    cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkCalculateSum512-4        81854             15073 ns/op
    +BenchmarkCalculateSum513-4       161479              7358 ns/op
    +
    +

    The second benchmark with 513 columns is about 50% faster. Again, because we iterate only over the first eight columns, this result is quite surprising.

    +

    To understand this difference, we need to understand the basics of CPU caches. In a nutshell, a CPU is composed of different caches (usually L1, L2, and L3). These caches reduce the average cost of accessing data from the main memory. In some conditions, the CPU can fetch data from the main memory and copy it to L1. In this case, the CPU tries to fetch into L1 the matrix’s subset that calculateSum is interested in (the first eight columns of each row). However, the matrix fits in memory in one case (513 columns) but not in the other case (512 columns).

    +
    +Note +

    This isn’t in the scope of this post to explain why, but we look at this problem in 100 Go Mistakes, mistake #91: “Not understanding CPU caches.

    +
    +

    Coming back to the benchmark, the main issue is that we keep reusing the same matrix in both cases. Because the function is repeated thousands of times, we don’t measure the function’s execution when it receives a plain new matrix. Instead, we measure a function that gets a matrix that already has a subset of the cells present in the cache. Therefore, because calculateSum513 leads to fewer cache misses, it has a better execution time.

    +

    This is an example of the observer effect. Because we keep observing a repeatedly called CPU-bound function, CPU caching may come into play and significantly affect the results. In this example, to prevent this effect, we should create a matrix during each test instead of reusing one:

    +
    func BenchmarkCalculateSum512(b *testing.B) {
    +    var sum int64
    +    for i := 0; i < b.N; i++ {
    +        b.StopTimer()
    +        s := createMatrix512(rows) // Create a new matrix during each loop iteration
    +        b.StartTimer()
    +        sum = calculateSum512(s)
    +    }
    +    res = sum
    +}
    +
    +

    A new matrix is now created during each loop iteration. If we run the benchmark again (and adjust benchtime — otherwise, it takes too long to execute), the results are closer to each other:

    +
    cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    +BenchmarkCalculateSum512-4         1116             33547 ns/op
    +BenchmarkCalculateSum513-4          998             35507 ns/op
    +
    +

    Instead of making the incorrect assumption that calculateSum513 is faster, we see that both benchmarks lead to similar results when receiving a new matrix.

    +

    As we have seen in this post, because we were reusing the same matrix, CPU caches significantly impacted the results. To prevent this, we had to create a new matrix during each loop iteration. In general, we should remember that observing a function under test may lead to significant differences in results, especially in the context of micro-benchmarks of CPU-bound functions where low-level optimizations matter. Forcing a benchmark to re-create data during each iteration can be a good way to prevent this effect.

    + + + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/site/9-generics/index.html b/site/9-generics/index.html index 52c3f0b..527f5c2 100644 --- a/site/9-generics/index.html +++ b/site/9-generics/index.html @@ -14,7 +14,7 @@ - + @@ -89,7 +89,18 @@ - + @@ -657,6 +668,46 @@ +
  • + + + + + Maps and memory leaks (#28) + + + + +
  • + + + + + + + + + +
  • + + + + + Writing inaccurate benchmarks (#89) + + + + +
  • + + + + + + + + +
  • @@ -1062,11 +1113,11 @@
    - + - + \ No newline at end of file diff --git a/site/98-profiling-execution-tracing/index.html b/site/98-profiling-execution-tracing/index.html index 6109472..b7aa14c 100644 --- a/site/98-profiling-execution-tracing/index.html +++ b/site/98-profiling-execution-tracing/index.html @@ -11,7 +11,7 @@ - + @@ -89,7 +89,18 @@ - + @@ -595,6 +606,46 @@ + +
  • + + + + + Maps and memory leaks (#28) + + + + +
  • + + + + + + + + + +
  • + + + + + Writing inaccurate benchmarks (#89) + + + + +
  • + + + + + + + + @@ -961,9 +1012,17 @@
    $ go tool pprof -http=:8080 <file>
     

    This command opens a web UI showing the call graph. The next figure shows an example taken from an application. The larger the arrow, the more it was a hot path. We can then navigate into this graph and get execution insights.

    -

    +
    +

    +

    +
    Figure 1: The call graph of an application during 30 seconds.
    +

    For example, the graph in the next figure tells us that during 30 seconds, 0.06 seconds were spent in the decode method (*FetchResponse receiver). Of these 0.06 seconds, 0.02 were spent in RecordBatch.decode and 0.01 in makemap (creating a map).

    -

    +
    +

    +

    +
    Figure 2: Example call graph.
    +

    We can also access this kind of information from the web UI with different representations. For example, the Top view sorts the functions per execution time, and Flame Graph visualizes the execution time hierarchy. The UI can even display the expensive parts of the source code line by line.

    Note @@ -984,7 +1043,11 @@

    Heap profiling allows us to get statistics about the current heap usage. Like CPU profiling, heap profiling is sample-based. We can change this rate, but we shouldn’t be too granular because the more we decrease the rate, the more effort heap profiling will require to collect data. By default, samples are profiled at one allocation for every 512 KB of heap allocation.

    If we reach /debug/pprof/heap/, we get raw data that can be hard to read. However, we can download a heap profile using /debug/pprof/heap/?debug=0 and then open it with go tool (the same command as in the previous section) to navigate into the data using the web UI.

    The next figure shows an example of a heap graph. Calling the MetadataResponse.decode method leads to allocating 1536 KB of heap data (which represents 6.32% of the total heap). However, 0 out of these 1536 KB were allocated by this function directly, so we need to inspect the second call. The TopicMetadata.decode method allocated 512 KB out of the 1536 KB; the rest — 1024 KB — were allocated in another method.

    -

    +
    +

    +

    +
    Figure 3: A heap graph.
    +

    This is how we can navigate the call chain to understand what part of an application is responsible for most of the heap allocations. We can also look at different sample types:

    • alloc_objects— Total number of objects allocated
    • @@ -1012,14 +1075,22 @@
      $ go tool pprof -http=:8080 -diff_base <file2> <file1>
       

      The next figure shows the kind of data we can access. For example, the amount of heap memory held by the newTopicProducer method (top left) has decreased (–513 KB). In contrast, the amount held by updateMetadata (bottom right) has increased (+512 KB). Slow increases are normal. The second heap profile may have been calculated in the middle of a service call, for example. We can repeat this process or wait longer; the important part is to track steady increases in allocations of a specific object.

      -

      +
      +

      +

      +
      Figure 4: The differences between the two heap profiles.
      +
      Note

      Another type of profiling related to the heap is allocs, which reports allocations. Heap profiling shows the current state of the heap memory. To get insights about past memory allocations since the application started, we can use allocations profiling. As discussed, because stack allocations are cheap, they aren’t part of this profiling, which only focuses on the heap.

      Goroutine Profiling

      The goroutine profile reports the stack trace of all the current goroutines in an application. We can download a file using /debug/pprof/goroutine/?debug=0 and use go tool again. The next figure shows the kind of information we can get.

      -

      +
      +

      +

      +
      Figure 5: Goroutine graph.
      +

      We can see the current state of the application and how many goroutines were created per function. In this case, withRecover has created 296 ongoing goroutines (63%), and 29 were related to a call to responseFeeder.

      This kind of information is also beneficial if we suspect goroutine leaks. We can look at goroutine profiler data to know which part of a system is the suspect.

      Block Profiling

      @@ -1077,13 +1148,29 @@

      The web browser opens, and we can click View Trace to see all the traces during a specific timeframe, as shown in the next figure. This figure represents about 150 ms. We can see multiple helpful metrics, such as the goroutine count and the heap size. The heap size grows steadily until a GC is triggered. We can also observe the activity of the Go application per CPU core. The timeframe starts with user-level code; then a “stop the world” is executed, which occupies the four CPU cores for approximately 40 ms.

      -

      +
      +

      +

      +
      Figure 6: Showing goroutine activity and runtime events such as a GC phase.
      +

      Regarding concurrency, we can see that this version uses all the available CPU cores on the machine. However, the next figure zooms in on a portion of 1 ms. Each bar corresponds to a single goroutine execution. Having too many small bars doesn’t look right: it means execution that is poorly parallelized.

      -

      +
      +

      +

      +
      Figure 7: Too many small bars mean poorly parallelized execution.
      +

      The next figure zooms even closer to see how these goroutines are orchestrated. Roughly 50% of the CPU time isn’t spent executing application code. The white spaces represent the time the Go runtime takes to spin up and orchestrate new goroutines.

      -

      +
      +

      +

      +
      Figure 8: About 50% of CPU time is spent handling goroutine switches.
      +

      Let’s compare this with the second parallel implementation, which was about an order of magnitude faster. The next figure again zooms to a 1 ms timeframe.

      -

      +
      +

      +

      +
      Figure 9: The number of white spaces has been significantly reduced, proving that the CPU is more fully occupied.
      +

      Each goroutine takes more time to execute, and the number of white spaces has been significantly reduced. Hence, the CPU is much more occupied executing application code than it was in the first version. Each millisecond of CPU time is spent more efficiently, explaining the benchmark differences.

      Note that the granularity of the traces is per goroutine, not per function like CPU profiling. However, it’s possible to define user-level tasks to get insights per function or group of functions using the runtime/trace package.

      For example, imagine a function that computes a Fibonacci number and then writes it to a global variable using atomic. We can define two different tasks:

      @@ -1103,7 +1190,11 @@ world” is executed, which occupies the four CPU cores for approximately 40 ms. fibStore.End()

      Using go tool, we can get more precise information about how these two tasks perform. In the previous trace UI, we can see the boundaries for each task per goroutine. In User-Defined Tasks, we can follow the duration distribution:

      -

      +
      +

      +

      +
      Figure 10: Distribution of user-level tasks.
      +

      We see that in most cases, the fibonacci task is executed in less than 15 microseconds, whereas the store task takes less than 6309 nanoseconds.

      In the previous section, we discussed the kinds of information we can get from CPU profiling. What are the main differences compared to the data we can get from user-level traces?

        @@ -1190,11 +1281,11 @@ world” is executed, which occupies the four CPU cores for approximately 40 ms.
        - + - + \ No newline at end of file diff --git a/site/assets/images/social/28-maps-memory-leaks.png b/site/assets/images/social/28-maps-memory-leaks.png new file mode 100644 index 0000000000000000000000000000000000000000..eae2887ff21d2007a7b64ce500783ec3c19a5427 GIT binary patch literal 43070 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

        qD5}Naoa2R6_J?-i(@`(0 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 literal 0 HcmV?d00001 diff --git a/site/assets/images/social/89-benchmarks.png b/site/assets/images/social/89-benchmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..1730d93202330335ff9516bf154e09e479558822 GIT binary patch literal 45625 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 literal 0 HcmV?d00001 diff --git a/site/assets/javascripts/glightbox.min.js b/site/assets/javascripts/glightbox.min.js new file mode 100644 index 0000000..614fb18 --- /dev/null +++ b/site/assets/javascripts/glightbox.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).GLightbox=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=e[s]=e[s]||[],l={all:n,evt:null,found:null};return t&&i&&P(n)>0&&o(n,(function(e,n){if(e.eventName==t&&e.fn.toString()==i.toString())return l.found=!0,l.evt=n,!1})),l}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.onElement,n=t.withCallback,s=t.avoidDuplicate,l=void 0===s||s,a=t.once,h=void 0!==a&&a,d=t.useCapture,c=void 0!==d&&d,u=arguments.length>2?arguments[2]:void 0,g=i||[];function v(e){T(n)&&n.call(u,e,this),h&&v.destroy()}return C(g)&&(g=document.querySelectorAll(g)),v.destroy=function(){o(g,(function(t){var i=r(t,e,v);i.found&&i.all.splice(i.evt,1),t.removeEventListener&&t.removeEventListener(e,v,c)}))},o(g,(function(t){var i=r(t,e,v);(t.addEventListener&&l&&!i.found||!l)&&(t.addEventListener(e,v,c),i.all.push({eventName:e,fn:v}))})),v}function h(e,t){o(t.split(" "),(function(t){return e.classList.add(t)}))}function d(e,t){o(t.split(" "),(function(t){return e.classList.remove(t)}))}function c(e,t){return e.classList.contains(t)}function u(e,t){for(;e!==document.body;){if(!(e=e.parentElement))return!1;if("function"==typeof e.matches?e.matches(t):e.msMatchesSelector(t))return e}}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||""===t)return!1;if("none"==t)return T(i)&&i(),!1;var n=x(),s=t.split(" ");o(s,(function(t){h(e,"g"+t)})),a(n,{onElement:e,avoidDuplicate:!1,once:!0,withCallback:function(e,t){o(s,(function(e){d(t,"g"+e)})),T(i)&&i()}})}function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(""==t)return e.style.webkitTransform="",e.style.MozTransform="",e.style.msTransform="",e.style.OTransform="",e.style.transform="",!1;e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t,e.style.transform=t}function f(e){e.style.display="block"}function p(e){e.style.display="none"}function m(e){var t=document.createDocumentFragment(),i=document.createElement("div");for(i.innerHTML=e;i.firstChild;)t.appendChild(i.firstChild);return t}function y(){return{width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}}function x(){var e,t=document.createElement("fakeelement"),i={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"};for(e in i)if(void 0!==t.style[e])return i[e]}function b(e,t,i,n){if(e())t();else{var s;i||(i=100);var l=setInterval((function(){e()&&(clearInterval(l),s&&clearTimeout(s),t())}),i);n&&(s=setTimeout((function(){clearInterval(l)}),n))}}function S(e,t,i){if(I(e))console.error("Inject assets error");else if(T(t)&&(i=t,t=!1),C(t)&&t in window)T(i)&&i();else{var n;if(-1!==e.indexOf(".css")){if((n=document.querySelectorAll('link[href="'+e+'"]'))&&n.length>0)return void(T(i)&&i());var s=document.getElementsByTagName("head")[0],l=s.querySelectorAll('link[rel="stylesheet"]'),o=document.createElement("link");return o.rel="stylesheet",o.type="text/css",o.href=e,o.media="all",l?s.insertBefore(o,l[0]):s.appendChild(o),void(T(i)&&i())}if((n=document.querySelectorAll('script[src="'+e+'"]'))&&n.length>0){if(T(i)){if(C(t))return b((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}}else{var r=document.createElement("script");r.type="text/javascript",r.src=e,r.onload=function(){if(T(i)){if(C(t))return b((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}},document.body.appendChild(r)}}}function w(){return"navigator"in window&&window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i)}function T(e){return"function"==typeof e}function C(e){return"string"==typeof e}function k(e){return!(!e||!e.nodeType||1!=e.nodeType)}function E(e){return Array.isArray(e)}function A(e){return e&&e.length&&isFinite(e.length)}function L(t){return"object"===e(t)&&null!=t&&!T(t)&&!E(t)}function I(e){return null==e}function O(e,t){return null!==e&&hasOwnProperty.call(e,t)}function P(e){if(L(e)){if(e.keys)return e.keys().length;var t=0;for(var i in e)O(e,i)&&t++;return t}return e.length}function M(e){return!isNaN(parseFloat(e))&&isFinite(e)}function z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)");if(!t.length)return!1;if(1==t.length)return t[0];"string"==typeof e&&(e=parseInt(e));var i=[];o(t,(function(e){i.push(e.getAttribute("data-taborder"))}));var n=Math.max.apply(Math,i.map((function(e){return parseInt(e)}))),s=e<0?1:e+1;s>n&&(s="1");var l=i.filter((function(e){return e>=parseInt(s)})),r=l.sort()[0];return document.querySelector('.gbtn[data-taborder="'.concat(r,'"]'))}function X(e){if(e.events.hasOwnProperty("keyboard"))return!1;e.events.keyboard=a("keydown",{onElement:window,withCallback:function(t,i){var n=(t=t||window.event).keyCode;if(9==n){var s=document.querySelector(".gbtn.focused");if(!s){var l=!(!document.activeElement||!document.activeElement.nodeName)&&document.activeElement.nodeName.toLocaleLowerCase();if("input"==l||"textarea"==l||"button"==l)return}t.preventDefault();var o=document.querySelectorAll(".gbtn[data-taborder]");if(!o||o.length<=0)return;if(!s){var r=z();return void(r&&(r.focus(),h(r,"focused")))}var a=z(s.getAttribute("data-taborder"));d(s,"focused"),a&&(a.focus(),h(a,"focused"))}39==n&&e.nextSlide(),37==n&&e.prevSlide(),27==n&&e.close()}})}function Y(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function q(e,t){var i=function(e,t){var i=Y(e)*Y(t);if(0===i)return 0;var n=function(e,t){return e.x*t.x+e.y*t.y}(e,t)/i;return n>1&&(n=1),Math.acos(n)}(e,t);return function(e,t){return e.x*t.y-t.x*e.y}(e,t)>0&&(i*=-1),180*i/Math.PI}var N=function(){function e(i){t(this,e),this.handlers=[],this.el=i}return n(e,[{key:"add",value:function(e){this.handlers.push(e)}},{key:"del",value:function(e){e||(this.handlers=[]);for(var t=this.handlers.length;t>=0;t--)this.handlers[t]===e&&this.handlers.splice(t,1)}},{key:"dispatch",value:function(){for(var e=0,t=this.handlers.length;e=0)console.log("ignore drag for this touched element",e.target.nodeName.toLowerCase());else{this.now=Date.now(),this.x1=e.touches[0].pageX,this.y1=e.touches[0].pageY,this.delta=this.now-(this.last||this.now),this.touchStart.dispatch(e,this.element),null!==this.preTapPosition.x&&(this.isDoubleTap=this.delta>0&&this.delta<=250&&Math.abs(this.preTapPosition.x-this.x1)<30&&Math.abs(this.preTapPosition.y-this.y1)<30,this.isDoubleTap&&clearTimeout(this.singleTapTimeout)),this.preTapPosition.x=this.x1,this.preTapPosition.y=this.y1,this.last=this.now;var t=this.preV;if(e.touches.length>1){this._cancelLongTap(),this._cancelSingleTap();var i={x:e.touches[1].pageX-this.x1,y:e.touches[1].pageY-this.y1};t.x=i.x,t.y=i.y,this.pinchStartLen=Y(t),this.multipointStart.dispatch(e,this.element)}this._preventTap=!1,this.longTapTimeout=setTimeout(function(){this.longTap.dispatch(e,this.element),this._preventTap=!0}.bind(this),750)}}}},{key:"move",value:function(e){if(e.touches){var t=this.preV,i=e.touches.length,n=e.touches[0].pageX,s=e.touches[0].pageY;if(this.isDoubleTap=!1,i>1){var l=e.touches[1].pageX,o=e.touches[1].pageY,r={x:e.touches[1].pageX-n,y:e.touches[1].pageY-s};null!==t.x&&(this.pinchStartLen>0&&(e.zoom=Y(r)/this.pinchStartLen,this.pinch.dispatch(e,this.element)),e.angle=q(r,t),this.rotate.dispatch(e,this.element)),t.x=r.x,t.y=r.y,null!==this.x2&&null!==this.sx2?(e.deltaX=(n-this.x2+l-this.sx2)/2,e.deltaY=(s-this.y2+o-this.sy2)/2):(e.deltaX=0,e.deltaY=0),this.twoFingerPressMove.dispatch(e,this.element),this.sx2=l,this.sy2=o}else{if(null!==this.x2){e.deltaX=n-this.x2,e.deltaY=s-this.y2;var a=Math.abs(this.x1-this.x2),h=Math.abs(this.y1-this.y2);(a>10||h>10)&&(this._preventTap=!0)}else e.deltaX=0,e.deltaY=0;this.pressMove.dispatch(e,this.element)}this.touchMove.dispatch(e,this.element),this._cancelLongTap(),this.x2=n,this.y2=s,i>1&&e.preventDefault()}}},{key:"end",value:function(e){if(e.changedTouches){this._cancelLongTap();var t=this;e.touches.length<2&&(this.multipointEnd.dispatch(e,this.element),this.sx2=this.sy2=null),this.x2&&Math.abs(this.x1-this.x2)>30||this.y2&&Math.abs(this.y1-this.y2)>30?(e.direction=this._swipeDirection(this.x1,this.x2,this.y1,this.y2),this.swipeTimeout=setTimeout((function(){t.swipe.dispatch(e,t.element)}),0)):(this.tapTimeout=setTimeout((function(){t._preventTap||t.tap.dispatch(e,t.element),t.isDoubleTap&&(t.doubleTap.dispatch(e,t.element),t.isDoubleTap=!1)}),0),t.isDoubleTap||(t.singleTapTimeout=setTimeout((function(){t.singleTap.dispatch(e,t.element)}),250))),this.touchEnd.dispatch(e,this.element),this.preV.x=0,this.preV.y=0,this.zoom=1,this.pinchStartLen=null,this.x1=this.x2=this.y1=this.y2=null}}},{key:"cancelAll",value:function(){this._preventTap=!0,clearTimeout(this.singleTapTimeout),clearTimeout(this.tapTimeout),clearTimeout(this.longTapTimeout),clearTimeout(this.swipeTimeout)}},{key:"cancel",value:function(e){this.cancelAll(),this.touchCancel.dispatch(e,this.element)}},{key:"_cancelLongTap",value:function(){clearTimeout(this.longTapTimeout)}},{key:"_cancelSingleTap",value:function(){clearTimeout(this.singleTapTimeout)}},{key:"_swipeDirection",value:function(e,t,i,n){return Math.abs(e-t)>=Math.abs(i-n)?e-t>0?"Left":"Right":i-n>0?"Up":"Down"}},{key:"on",value:function(e,t){this[e]&&this[e].add(t)}},{key:"off",value:function(e,t){this[e]&&this[e].del(t)}},{key:"destroy",value:function(){return this.singleTapTimeout&&clearTimeout(this.singleTapTimeout),this.tapTimeout&&clearTimeout(this.tapTimeout),this.longTapTimeout&&clearTimeout(this.longTapTimeout),this.swipeTimeout&&clearTimeout(this.swipeTimeout),this.element.removeEventListener("touchstart",this.start),this.element.removeEventListener("touchmove",this.move),this.element.removeEventListener("touchend",this.end),this.element.removeEventListener("touchcancel",this.cancel),this.rotate.del(),this.touchStart.del(),this.multipointStart.del(),this.multipointEnd.del(),this.pinch.del(),this.swipe.del(),this.tap.del(),this.doubleTap.del(),this.longTap.del(),this.singleTap.del(),this.pressMove.del(),this.twoFingerPressMove.del(),this.touchMove.del(),this.touchEnd.del(),this.touchCancel.del(),this.preV=this.pinchStartLen=this.zoom=this.isDoubleTap=this.delta=this.last=this.now=this.tapTimeout=this.singleTapTimeout=this.longTapTimeout=this.swipeTimeout=this.x1=this.x2=this.y1=this.y2=this.preTapPosition=this.rotate=this.touchStart=this.multipointStart=this.multipointEnd=this.pinch=this.swipe=this.tap=this.doubleTap=this.longTap=this.singleTap=this.pressMove=this.touchMove=this.touchEnd=this.touchCancel=this.twoFingerPressMove=null,window.removeEventListener("scroll",this._cancelAllHandler),null}}]),e}();function W(e){var t=function(){var e,t=document.createElement("fakeelement"),i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(e in i)if(void 0!==t.style[e])return i[e]}(),i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=c(e,"gslide-media")?e:e.querySelector(".gslide-media"),s=u(n,".ginner-container"),l=e.querySelector(".gslide-description");i>769&&(n=s),h(n,"greset"),v(n,"translate3d(0, 0, 0)"),a(t,{onElement:n,once:!0,withCallback:function(e,t){d(n,"greset")}}),n.style.opacity="",l&&(l.style.opacity="")}function B(e){if(e.events.hasOwnProperty("touch"))return!1;var t,i,n,s=y(),l=s.width,o=s.height,r=!1,a=null,g=null,f=null,p=!1,m=1,x=1,b=!1,S=!1,w=null,T=null,C=null,k=null,E=0,A=0,L=!1,I=!1,O={},P={},M=0,z=0,X=document.getElementById("glightbox-slider"),Y=document.querySelector(".goverlay"),q=new _(X,{touchStart:function(t){if(r=!0,(c(t.targetTouches[0].target,"ginner-container")||u(t.targetTouches[0].target,".gslide-desc")||"a"==t.targetTouches[0].target.nodeName.toLowerCase())&&(r=!1),u(t.targetTouches[0].target,".gslide-inline")&&!c(t.targetTouches[0].target.parentNode,"gslide-inline")&&(r=!1),r){if(P=t.targetTouches[0],O.pageX=t.targetTouches[0].pageX,O.pageY=t.targetTouches[0].pageY,M=t.targetTouches[0].clientX,z=t.targetTouches[0].clientY,a=e.activeSlide,g=a.querySelector(".gslide-media"),n=a.querySelector(".gslide-inline"),f=null,c(g,"gslide-image")&&(f=g.querySelector("img")),(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)>769&&(g=a.querySelector(".ginner-container")),d(Y,"greset"),t.pageX>20&&t.pageXo){var a=O.pageX-P.pageX;if(Math.abs(a)<=13)return!1}p=!0;var h,d=s.targetTouches[0].clientX,c=s.targetTouches[0].clientY,u=M-d,m=z-c;if(Math.abs(u)>Math.abs(m)?(L=!1,I=!0):(I=!1,L=!0),t=P.pageX-O.pageX,E=100*t/l,i=P.pageY-O.pageY,A=100*i/o,L&&f&&(h=1-Math.abs(i)/o,Y.style.opacity=h,e.settings.touchFollowAxis&&(E=0)),I&&(h=1-Math.abs(t)/l,g.style.opacity=h,e.settings.touchFollowAxis&&(A=0)),!f)return v(g,"translate3d(".concat(E,"%, 0, 0)"));v(g,"translate3d(".concat(E,"%, ").concat(A,"%, 0)"))}},touchEnd:function(){if(r){if(p=!1,S||b)return C=w,void(k=T);var t=Math.abs(parseInt(A)),i=Math.abs(parseInt(E));if(!(t>29&&f))return t<29&&i<25?(h(Y,"greset"),Y.style.opacity=1,W(g)):void 0;e.close()}},multipointEnd:function(){setTimeout((function(){b=!1}),50)},multipointStart:function(){b=!0,m=x||1},pinch:function(e){if(!f||p)return!1;b=!0,f.scaleX=f.scaleY=m*e.zoom;var t=m*e.zoom;if(S=!0,t<=1)return S=!1,t=1,k=null,C=null,w=null,T=null,void f.setAttribute("style","");t>4.5&&(t=4.5),f.style.transform="scale3d(".concat(t,", ").concat(t,", 1)"),x=t},pressMove:function(e){if(S&&!b){var t=P.pageX-O.pageX,i=P.pageY-O.pageY;C&&(t+=C),k&&(i+=k),w=t,T=i;var n="translate3d(".concat(t,"px, ").concat(i,"px, 0)");x&&(n+=" scale3d(".concat(x,", ").concat(x,", 1)")),v(f,n)}},swipe:function(t){if(!S)if(b)b=!1;else{if("Left"==t.direction){if(e.index==e.elements.length-1)return W(g);e.nextSlide()}if("Right"==t.direction){if(0==e.index)return W(g);e.prevSlide()}}}});e.events.touch=q}var H=function(){function e(i,n){var s=this,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(t(this,e),this.img=i,this.slide=n,this.onclose=l,this.img.setZoomEvents)return!1;this.active=!1,this.zoomedIn=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.img.addEventListener("mousedown",(function(e){return s.dragStart(e)}),!1),this.img.addEventListener("mouseup",(function(e){return s.dragEnd(e)}),!1),this.img.addEventListener("mousemove",(function(e){return s.drag(e)}),!1),this.img.addEventListener("click",(function(e){return s.slide.classList.contains("dragging-nav")?(s.zoomOut(),!1):s.zoomedIn?void(s.zoomedIn&&!s.dragging&&s.zoomOut()):s.zoomIn()}),!1),this.img.setZoomEvents=!0}return n(e,[{key:"zoomIn",value:function(){var e=this.widowWidth();if(!(this.zoomedIn||e<=768)){var t=this.img;if(t.setAttribute("data-style",t.getAttribute("style")),t.style.maxWidth=t.naturalWidth+"px",t.style.maxHeight=t.naturalHeight+"px",t.naturalWidth>e){var i=e/2-t.naturalWidth/2;this.setTranslate(this.img.parentNode,i,0)}this.slide.classList.add("zoomed"),this.zoomedIn=!0}}},{key:"zoomOut",value:function(){this.img.parentNode.setAttribute("style",""),this.img.setAttribute("style",this.img.getAttribute("data-style")),this.slide.classList.remove("zoomed"),this.zoomedIn=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.onclose&&"function"==typeof this.onclose&&this.onclose()}},{key:"dragStart",value:function(e){e.preventDefault(),this.zoomedIn?("touchstart"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset),e.target===this.img&&(this.active=!0,this.img.classList.add("dragging"))):this.active=!1}},{key:"dragEnd",value:function(e){var t=this;e.preventDefault(),this.initialX=this.currentX,this.initialY=this.currentY,this.active=!1,setTimeout((function(){t.dragging=!1,t.img.isDragging=!1,t.img.classList.remove("dragging")}),100)}},{key:"drag",value:function(e){this.active&&(e.preventDefault(),"touchmove"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.img.isDragging=!0,this.dragging=!0,this.setTranslate(this.img,this.currentX,this.currentY))}},{key:"onMove",value:function(e){if(this.zoomedIn){var t=e.clientX-this.img.naturalWidth/2,i=e.clientY-this.img.naturalHeight/2;this.setTranslate(this.img,t,i)}}},{key:"setTranslate",value:function(e,t,i){e.style.transform="translate3d("+t+"px, "+i+"px, 0)"}},{key:"widowWidth",value:function(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}}]),e}(),V=function(){function e(){var i=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e);var s=n.dragEl,l=n.toleranceX,o=void 0===l?40:l,r=n.toleranceY,a=void 0===r?65:r,h=n.slide,d=void 0===h?null:h,c=n.instance,u=void 0===c?null:c;this.el=s,this.active=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.direction=null,this.lastDirection=null,this.toleranceX=o,this.toleranceY=a,this.toleranceReached=!1,this.dragContainer=this.el,this.slide=d,this.instance=u,this.el.addEventListener("mousedown",(function(e){return i.dragStart(e)}),!1),this.el.addEventListener("mouseup",(function(e){return i.dragEnd(e)}),!1),this.el.addEventListener("mousemove",(function(e){return i.drag(e)}),!1)}return n(e,[{key:"dragStart",value:function(e){if(this.slide.classList.contains("zoomed"))this.active=!1;else{"touchstart"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset);var t=e.target.nodeName.toLowerCase();e.target.classList.contains("nodrag")||u(e.target,".nodrag")||-1!==["input","select","textarea","button","a"].indexOf(t)?this.active=!1:(e.preventDefault(),(e.target===this.el||"img"!==t&&u(e.target,".gslide-inline"))&&(this.active=!0,this.el.classList.add("dragging"),this.dragContainer=u(e.target,".ginner-container")))}}},{key:"dragEnd",value:function(e){var t=this;e&&e.preventDefault(),this.initialX=0,this.initialY=0,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.active=!1,this.doSlideChange&&(this.instance.preventOutsideClick=!0,"right"==this.doSlideChange&&this.instance.prevSlide(),"left"==this.doSlideChange&&this.instance.nextSlide()),this.doSlideClose&&this.instance.close(),this.toleranceReached||this.setTranslate(this.dragContainer,0,0,!0),setTimeout((function(){t.instance.preventOutsideClick=!1,t.toleranceReached=!1,t.lastDirection=null,t.dragging=!1,t.el.isDragging=!1,t.el.classList.remove("dragging"),t.slide.classList.remove("dragging-nav"),t.dragContainer.style.transform="",t.dragContainer.style.transition=""}),100)}},{key:"drag",value:function(e){if(this.active){e.preventDefault(),this.slide.classList.add("dragging-nav"),"touchmove"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.el.isDragging=!0,this.dragging=!0,this.doSlideChange=!1,this.doSlideClose=!1;var t=Math.abs(this.currentX),i=Math.abs(this.currentY);if(t>0&&t>=Math.abs(this.currentY)&&(!this.lastDirection||"x"==this.lastDirection)){this.yOffset=0,this.lastDirection="x",this.setTranslate(this.dragContainer,this.currentX,0);var n=this.shouldChange();if(!this.instance.settings.dragAutoSnap&&n&&(this.doSlideChange=n),this.instance.settings.dragAutoSnap&&n)return this.instance.preventOutsideClick=!0,this.toleranceReached=!0,this.active=!1,this.instance.preventOutsideClick=!0,this.dragEnd(null),"right"==n&&this.instance.prevSlide(),void("left"==n&&this.instance.nextSlide())}if(this.toleranceY>0&&i>0&&i>=t&&(!this.lastDirection||"y"==this.lastDirection)){this.xOffset=0,this.lastDirection="y",this.setTranslate(this.dragContainer,0,this.currentY);var s=this.shouldClose();return!this.instance.settings.dragAutoSnap&&s&&(this.doSlideClose=!0),void(this.instance.settings.dragAutoSnap&&s&&this.instance.close())}}}},{key:"shouldChange",value:function(){var e=!1;if(Math.abs(this.currentX)>=this.toleranceX){var t=this.currentX>0?"right":"left";("left"==t&&this.slide!==this.slide.parentNode.lastChild||"right"==t&&this.slide!==this.slide.parentNode.firstChild)&&(e=t)}return e}},{key:"shouldClose",value:function(){var e=!1;return Math.abs(this.currentY)>=this.toleranceY&&(e=!0),e}},{key:"setTranslate",value:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.style.transition=n?"all .2s ease":"",e.style.transform="translate3d(".concat(t,"px, ").concat(i,"px, 0)")}}]),e}();function j(e,t,i,n){var s=e.querySelector(".gslide-media"),l=new Image,o="gSlideTitle_"+i,r="gSlideDesc_"+i;l.addEventListener("load",(function(){T(n)&&n()}),!1),l.src=t.href,""!=t.sizes&&""!=t.srcset&&(l.sizes=t.sizes,l.srcset=t.srcset),l.alt="",I(t.alt)||""===t.alt||(l.alt=t.alt),""!==t.title&&l.setAttribute("aria-labelledby",o),""!==t.description&&l.setAttribute("aria-describedby",r),t.hasOwnProperty("_hasCustomWidth")&&t._hasCustomWidth&&(l.style.width=t.width),t.hasOwnProperty("_hasCustomHeight")&&t._hasCustomHeight&&(l.style.height=t.height),s.insertBefore(l,s.firstChild)}function F(e,t,i,n){var s=this,l=e.querySelector(".ginner-container"),o="gvideo"+i,r=e.querySelector(".gslide-media"),a=this.getAllPlayers();h(l,"gvideo-container"),r.insertBefore(m('

        '),r.firstChild);var d=e.querySelector(".gvideo-wrapper");S(this.settings.plyr.css,"Plyr");var c=t.href,u=location.protocol.replace(":",""),g="",v="",f=!1;"file"==u&&(u="http"),r.style.maxWidth=t.width,S(this.settings.plyr.js,"Plyr",(function(){if(c.match(/vimeo\.com\/([0-9]*)/)){var l=/vimeo.*\/(\d+)/i.exec(c);g="vimeo",v=l[1]}if(c.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/)||c.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/)||c.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/)){var r=function(e){var t="";t=void 0!==(e=e.replace(/(>|<)/gi,"").split(/(vi\/|v=|\/v\/|youtu\.be\/|\/embed\/)/))[2]?(t=e[2].split(/[^0-9a-z_\-]/i))[0]:e;return t}(c);g="youtube",v=r}if(null!==c.match(/\.(mp4|ogg|webm|mov)$/)){g="local";var u='")}var w=f||m('
        '));h(d,"".concat(g,"-video gvideo")),d.appendChild(w),d.setAttribute("data-id",o),d.setAttribute("data-index",i);var C=O(s.settings.plyr,"config")?s.settings.plyr.config:{},k=new Plyr("#"+o,C);k.on("ready",(function(e){var t=e.detail.plyr;a[o]=t,T(n)&&n()})),b((function(){return e.querySelector("iframe")&&"true"==e.querySelector("iframe").dataset.ready}),(function(){s.resize(e)})),k.on("enterfullscreen",R),k.on("exitfullscreen",R)}))}function R(e){var t=u(e.target,".gslide-media");"enterfullscreen"==e.type&&h(t,"fullscreen"),"exitfullscreen"==e.type&&d(t,"fullscreen")}function G(e,t,i,n){var s,l=this,o=e.querySelector(".gslide-media"),r=!(!O(t,"href")||!t.href)&&t.href.split("#").pop().trim(),d=!(!O(t,"content")||!t.content)&&t.content;if(d&&(C(d)&&(s=m('
        '.concat(d,"
        "))),k(d))){"none"==d.style.display&&(d.style.display="block");var c=document.createElement("div");c.className="ginlined-content",c.appendChild(d),s=c}if(r){var u=document.getElementById(r);if(!u)return!1;var g=u.cloneNode(!0);g.style.height=t.height,g.style.maxWidth=t.width,h(g,"ginlined-content"),s=g}if(!s)return console.error("Unable to append inline slide content",t),!1;o.style.height=t.height,o.style.width=t.width,o.appendChild(s),this.events["inlineclose"+r]=a("click",{onElement:o.querySelectorAll(".gtrigger-close"),withCallback:function(e){e.preventDefault(),l.close()}}),T(n)&&n()}function Z(e,t,i,n){var s=e.querySelector(".gslide-media"),l=function(e){var t=e.url,i=e.allow,n=e.callback,s=e.appendTo,l=document.createElement("iframe");return l.className="vimeo-video gvideo",l.src=t,l.style.width="100%",l.style.height="100%",i&&l.setAttribute("allow",i),l.onload=function(){h(l,"node-ready"),T(n)&&n()},s&&s.appendChild(l),l}({url:t.href,callback:n});s.parentNode.style.maxWidth=t.width,s.parentNode.style.height=t.height,s.appendChild(l)}var $=function(){function e(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e),this.defaults={href:"",sizes:"",srcset:"",title:"",type:"",description:"",alt:"",descPosition:"bottom",effect:"",width:"",height:"",content:!1,zoomable:!0,draggable:!0},L(i)&&(this.defaults=l(this.defaults,i))}return n(e,[{key:"sourceType",value:function(e){var t=e;if(null!==(e=e.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/))return"image";if(e.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/)||e.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/)||e.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/))return"video";if(e.match(/vimeo\.com\/([0-9]*)/))return"video";if(null!==e.match(/\.(mp4|ogg|webm|mov)/))return"video";if(null!==e.match(/\.(mp3|wav|wma|aac|ogg)/))return"audio";if(e.indexOf("#")>-1&&""!==t.split("#").pop().trim())return"inline";return e.indexOf("goajax=true")>-1?"ajax":"external"}},{key:"parseConfig",value:function(e,t){var i=this,n=l({descPosition:t.descPosition},this.defaults);if(L(e)&&!k(e)){O(e,"type")||(O(e,"content")&&e.content?e.type="inline":O(e,"href")&&(e.type=this.sourceType(e.href)));var s=l(n,e);return this.setSize(s,t),s}var r="",a=e.getAttribute("data-glightbox"),h=e.nodeName.toLowerCase();if("a"===h&&(r=e.href),"img"===h&&(r=e.src,n.alt=e.alt),n.href=r,o(n,(function(s,l){O(t,l)&&"width"!==l&&(n[l]=t[l]);var o=e.dataset[l];I(o)||(n[l]=i.sanitizeValue(o))})),n.content&&(n.type="inline"),!n.type&&r&&(n.type=this.sourceType(r)),I(a)){if(!n.title&&"a"==h){var d=e.title;I(d)||""===d||(n.title=d)}if(!n.title&&"img"==h){var c=e.alt;I(c)||""===c||(n.title=c)}}else{var u=[];o(n,(function(e,t){u.push(";\\s?"+t)})),u=u.join("\\s?:|"),""!==a.trim()&&o(n,(function(e,t){var s=a,l=new RegExp("s?"+t+"s?:s?(.*?)("+u+"s?:|$)"),o=s.match(l);if(o&&o.length&&o[1]){var r=o[1].trim().replace(/;\s*$/,"");n[t]=i.sanitizeValue(r)}}))}if(n.description&&"."===n.description.substring(0,1)){var g;try{g=document.querySelector(n.description).innerHTML}catch(e){if(!(e instanceof DOMException))throw e}g&&(n.description=g)}if(!n.description){var v=e.querySelector(".glightbox-desc");v&&(n.description=v.innerHTML)}return this.setSize(n,t,e),this.slideConfig=n,n}},{key:"setSize",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n="video"==e.type?this.checkSize(t.videosWidth):this.checkSize(t.width),s=this.checkSize(t.height);return e.width=O(e,"width")&&""!==e.width?this.checkSize(e.width):n,e.height=O(e,"height")&&""!==e.height?this.checkSize(e.height):s,i&&"image"==e.type&&(e._hasCustomWidth=!!i.dataset.width,e._hasCustomHeight=!!i.dataset.height),e}},{key:"checkSize",value:function(e){return M(e)?"".concat(e,"px"):e}},{key:"sanitizeValue",value:function(e){return"true"!==e&&"false"!==e?e:"true"===e}}]),e}(),U=function(){function e(i,n,s){t(this,e),this.element=i,this.instance=n,this.index=s}return n(e,[{key:"setContent",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(c(t,"loaded"))return!1;var n=this.instance.settings,s=this.slideConfig,l=w();T(n.beforeSlideLoad)&&n.beforeSlideLoad({index:this.index,slide:t,player:!1});var o=s.type,r=s.descPosition,a=t.querySelector(".gslide-media"),d=t.querySelector(".gslide-title"),u=t.querySelector(".gslide-desc"),g=t.querySelector(".gdesc-inner"),v=i,f="gSlideTitle_"+this.index,p="gSlideDesc_"+this.index;if(T(n.afterSlideLoad)&&(v=function(){T(i)&&i(),n.afterSlideLoad({index:e.index,slide:t,player:e.instance.getSlidePlayerInstance(e.index)})}),""==s.title&&""==s.description?g&&g.parentNode.parentNode.removeChild(g.parentNode):(d&&""!==s.title?(d.id=f,d.innerHTML=s.title):d.parentNode.removeChild(d),u&&""!==s.description?(u.id=p,l&&n.moreLength>0?(s.smallDescription=this.slideShortDesc(s.description,n.moreLength,n.moreText),u.innerHTML=s.smallDescription,this.descriptionEvents(u,s)):u.innerHTML=s.description):u.parentNode.removeChild(u),h(a.parentNode,"desc-".concat(r)),h(g.parentNode,"description-".concat(r))),h(a,"gslide-".concat(o)),h(t,"loaded"),"video"!==o){if("external"!==o)return"inline"===o?(G.apply(this.instance,[t,s,this.index,v]),void(s.draggable&&new V({dragEl:t.querySelector(".gslide-inline"),toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:this.instance}))):void("image"!==o?T(v)&&v():j(t,s,this.index,(function(){var i=t.querySelector("img");s.draggable&&new V({dragEl:i,toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:e.instance}),s.zoomable&&i.naturalWidth>i.offsetWidth&&(h(i,"zoomable"),new H(i,t,(function(){e.instance.resize()}))),T(v)&&v()})));Z.apply(this,[t,s,this.index,v])}else F.apply(this.instance,[t,s,this.index,v])}},{key:"slideShortDesc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("div");n.innerHTML=e;var s=n.innerText,l=i;if((e=s.trim()).length<=t)return e;var o=e.substr(0,t-1);return l?(n=null,o+'... '+i+""):o}},{key:"descriptionEvents",value:function(e,t){var i=this,n=e.querySelector(".desc-more");if(!n)return!1;a("click",{onElement:n,withCallback:function(e,n){e.preventDefault();var s=document.body,l=u(n,".gslide-desc");if(!l)return!1;l.innerHTML=t.description,h(s,"gdesc-open");var o=a("click",{onElement:[s,u(l,".gslide-description")],withCallback:function(e,n){"a"!==e.target.nodeName.toLowerCase()&&(d(s,"gdesc-open"),h(s,"gdesc-closed"),l.innerHTML=t.smallDescription,i.descriptionEvents(l,t),setTimeout((function(){d(s,"gdesc-closed")}),400),o.destroy())}})}})}},{key:"create",value:function(){return m(this.instance.settings.slideHTML)}},{key:"getConfig",value:function(){k(this.element)||this.element.hasOwnProperty("draggable")||(this.element.draggable=this.instance.settings.draggable);var e=new $(this.instance.settings.slideExtraAttributes);return this.slideConfig=e.parseConfig(this.element,this.instance.settings),this.slideConfig}}]),e}(),J=w(),K=null!==w()||void 0!==document.createTouch||"ontouchstart"in window||"onmsgesturechange"in window||navigator.msMaxTouchPoints,Q=document.getElementsByTagName("html")[0],ee={selector:".glightbox",elements:null,skin:"clean",theme:"clean",closeButton:!0,startAt:null,autoplayVideos:!0,autofocusVideos:!0,descPosition:"bottom",width:"900px",height:"506px",videosWidth:"960px",beforeSlideChange:null,afterSlideChange:null,beforeSlideLoad:null,afterSlideLoad:null,slideInserted:null,slideRemoved:null,slideExtraAttributes:null,onOpen:null,onClose:null,loop:!1,zoomable:!0,draggable:!0,dragAutoSnap:!1,dragToleranceX:40,dragToleranceY:65,preload:!0,oneSlidePerOpen:!1,touchNavigation:!0,touchFollowAxis:!0,keyboardNavigation:!0,closeOnOutsideClick:!0,plugins:!1,plyr:{css:"https://cdn.plyr.io/3.6.8/plyr.css",js:"https://cdn.plyr.io/3.6.8/plyr.js",config:{ratio:"16:9",fullscreen:{enabled:!0,iosNative:!0},youtube:{noCookie:!0,rel:0,showinfo:0,iv_load_policy:3},vimeo:{byline:!1,portrait:!1,title:!1,transparent:!1}}},openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",moreText:"See more",moreLength:60,cssEfects:{fade:{in:"fadeIn",out:"fadeOut"},zoom:{in:"zoomIn",out:"zoomOut"},slide:{in:"slideInRight",out:"slideOutLeft"},slideBack:{in:"slideInLeft",out:"slideOutRight"},none:{in:"none",out:"none"}},svg:{close:'',next:' ',prev:''},slideHTML:'
        \n
        \n
        \n
        \n
        \n
        \n
        \n

        \n
        \n
        \n
        \n
        \n
        \n
        ',lightboxHTML:''},te=function(){function e(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e),this.customOptions=i,this.settings=l(ee,i),this.effectsClasses=this.getAnimationClasses(),this.videoPlayers={},this.apiEvents=[],this.fullElementsList=!1}return n(e,[{key:"init",value:function(){var e=this,t=this.getSelector();t&&(this.baseEvents=a("click",{onElement:t,withCallback:function(t,i){t.preventDefault(),e.open(i)}})),this.elements=this.getElements()}},{key:"open",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(0==this.elements.length)return!1;this.activeSlide=null,this.prevActiveSlideIndex=null,this.prevActiveSlide=null;var i=M(t)?t:this.settings.startAt;if(k(e)){var n=e.getAttribute("data-gallery");n&&(this.fullElementsList=this.elements,this.elements=this.getGalleryElements(this.elements,n)),I(i)&&(i=this.getElementIndex(e))<0&&(i=0)}M(i)||(i=0),this.build(),g(this.overlay,"none"==this.settings.openEffect?"none":this.settings.cssEfects.fade.in);var s=document.body,l=window.innerWidth-document.documentElement.clientWidth;if(l>0){var o=document.createElement("style");o.type="text/css",o.className="gcss-styles",o.innerText=".gscrollbar-fixer {margin-right: ".concat(l,"px}"),document.head.appendChild(o),h(s,"gscrollbar-fixer")}h(s,"glightbox-open"),h(Q,"glightbox-open"),J&&(h(document.body,"glightbox-mobile"),this.settings.slideEffect="slide"),this.showSlide(i,!0),1==this.elements.length?(h(this.prevButton,"glightbox-button-hidden"),h(this.nextButton,"glightbox-button-hidden")):(d(this.prevButton,"glightbox-button-hidden"),d(this.nextButton,"glightbox-button-hidden")),this.lightboxOpen=!0,this.trigger("open"),T(this.settings.onOpen)&&this.settings.onOpen(),K&&this.settings.touchNavigation&&B(this),this.settings.keyboardNavigation&&X(this)}},{key:"openAt",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.open(null,e)}},{key:"showSlide",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];f(this.loader),this.index=parseInt(t);var n=this.slidesContainer.querySelector(".current");n&&d(n,"current"),this.slideAnimateOut();var s=this.slidesContainer.querySelectorAll(".gslide")[t];if(c(s,"loaded"))this.slideAnimateIn(s,i),p(this.loader);else{f(this.loader);var l=this.elements[t],o={index:this.index,slide:s,slideNode:s,slideConfig:l.slideConfig,slideIndex:this.index,trigger:l.node,player:null};this.trigger("slide_before_load",o),l.instance.setContent(s,(function(){p(e.loader),e.resize(),e.slideAnimateIn(s,i),e.trigger("slide_after_load",o)}))}this.slideDescription=s.querySelector(".gslide-description"),this.slideDescriptionContained=this.slideDescription&&c(this.slideDescription.parentNode,"gslide-media"),this.settings.preload&&(this.preloadSlide(t+1),this.preloadSlide(t-1)),this.updateNavigationClasses(),this.activeSlide=s}},{key:"preloadSlide",value:function(e){var t=this;if(e<0||e>this.elements.length-1)return!1;if(I(this.elements[e]))return!1;var i=this.slidesContainer.querySelectorAll(".gslide")[e];if(c(i,"loaded"))return!1;var n=this.elements[e],s=n.type,l={index:e,slide:i,slideNode:i,slideConfig:n.slideConfig,slideIndex:e,trigger:n.node,player:null};this.trigger("slide_before_load",l),"video"==s||"external"==s?setTimeout((function(){n.instance.setContent(i,(function(){t.trigger("slide_after_load",l)}))}),200):n.instance.setContent(i,(function(){t.trigger("slide_after_load",l)}))}},{key:"prevSlide",value:function(){this.goToSlide(this.index-1)}},{key:"nextSlide",value:function(){this.goToSlide(this.index+1)}},{key:"goToSlide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.prevActiveSlide=this.activeSlide,this.prevActiveSlideIndex=this.index,!this.loop()&&(e<0||e>this.elements.length-1))return!1;e<0?e=this.elements.length-1:e>=this.elements.length&&(e=0),this.showSlide(e)}},{key:"insertSlide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;t<0&&(t=this.elements.length);var i=new U(e,this,t),n=i.getConfig(),s=l({},n),o=i.create(),r=this.elements.length-1;s.index=t,s.node=!1,s.instance=i,s.slideConfig=n,this.elements.splice(t,0,s);var a=null,h=null;if(this.slidesContainer){if(t>r)this.slidesContainer.appendChild(o);else{var d=this.slidesContainer.querySelectorAll(".gslide")[t];this.slidesContainer.insertBefore(o,d)}(this.settings.preload&&0==this.index&&0==t||this.index-1==t||this.index+1==t)&&this.preloadSlide(t),0==this.index&&0==t&&(this.index=1),this.updateNavigationClasses(),a=this.slidesContainer.querySelectorAll(".gslide")[t],h=this.getSlidePlayerInstance(t),s.slideNode=a}this.trigger("slide_inserted",{index:t,slide:a,slideNode:a,slideConfig:n,slideIndex:t,trigger:null,player:h}),T(this.settings.slideInserted)&&this.settings.slideInserted({index:t,slide:a,player:h})}},{key:"removeSlide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e<0||e>this.elements.length-1)return!1;var t=this.slidesContainer&&this.slidesContainer.querySelectorAll(".gslide")[e];t&&(this.getActiveSlideIndex()==e&&(e==this.elements.length-1?this.prevSlide():this.nextSlide()),t.parentNode.removeChild(t)),this.elements.splice(e,1),this.trigger("slide_removed",e),T(this.settings.slideRemoved)&&this.settings.slideRemoved(e)}},{key:"slideAnimateIn",value:function(e,t){var i=this,n=e.querySelector(".gslide-media"),s=e.querySelector(".gslide-description"),l={index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlide,slideConfig:I(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:I(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},o={index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideConfig:this.elements[this.index].slideConfig,slideIndex:this.index,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)};if(n.offsetWidth>0&&s&&(p(s),s.style.display=""),d(e,this.effectsClasses),t)g(e,this.settings.cssEfects[this.settings.openEffect].in,(function(){i.settings.autoplayVideos&&i.slidePlayerPlay(e),i.trigger("slide_changed",{prev:l,current:o}),T(i.settings.afterSlideChange)&&i.settings.afterSlideChange.apply(i,[l,o])}));else{var r=this.settings.slideEffect,a="none"!==r?this.settings.cssEfects[r].in:r;this.prevActiveSlideIndex>this.index&&"slide"==this.settings.slideEffect&&(a=this.settings.cssEfects.slideBack.in),g(e,a,(function(){i.settings.autoplayVideos&&i.slidePlayerPlay(e),i.trigger("slide_changed",{prev:l,current:o}),T(i.settings.afterSlideChange)&&i.settings.afterSlideChange.apply(i,[l,o])}))}setTimeout((function(){i.resize(e)}),100),h(e,"current")}},{key:"slideAnimateOut",value:function(){if(!this.prevActiveSlide)return!1;var e=this.prevActiveSlide;d(e,this.effectsClasses),h(e,"prev");var t=this.settings.slideEffect,i="none"!==t?this.settings.cssEfects[t].out:t;this.slidePlayerPause(e),this.trigger("slide_before_change",{prev:{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlideIndex,slideConfig:I(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:I(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},current:{index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideIndex:this.index,slideConfig:this.elements[this.index].slideConfig,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)}}),T(this.settings.beforeSlideChange)&&this.settings.beforeSlideChange.apply(this,[{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},{index:this.index,slide:this.activeSlide,player:this.getSlidePlayerInstance(this.index)}]),this.prevActiveSlideIndex>this.index&&"slide"==this.settings.slideEffect&&(i=this.settings.cssEfects.slideBack.out),g(e,i,(function(){var t=e.querySelector(".ginner-container"),i=e.querySelector(".gslide-media"),n=e.querySelector(".gslide-description");t.style.transform="",i.style.transform="",d(i,"greset"),i.style.opacity="",n&&(n.style.opacity=""),d(e,"prev")}))}},{key:"getAllPlayers",value:function(){return this.videoPlayers}},{key:"getSlidePlayerInstance",value:function(e){var t="gvideo"+e,i=this.getAllPlayers();return!(!O(i,t)||!i[t])&&i[t]}},{key:"stopSlideVideo",value:function(e){if(k(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}console.log("stopSlideVideo is deprecated, use slidePlayerPause");var i=this.getSlidePlayerInstance(e);i&&i.playing&&i.pause()}},{key:"slidePlayerPause",value:function(e){if(k(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}var i=this.getSlidePlayerInstance(e);i&&i.playing&&i.pause()}},{key:"playSlideVideo",value:function(e){if(k(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}console.log("playSlideVideo is deprecated, use slidePlayerPlay");var i=this.getSlidePlayerInstance(e);i&&!i.playing&&i.play()}},{key:"slidePlayerPlay",value:function(e){if(k(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}var i=this.getSlidePlayerInstance(e);i&&!i.playing&&(i.play(),this.settings.autofocusVideos&&i.elements.container.focus())}},{key:"setElements",value:function(e){var t=this;this.settings.elements=!1;var i=[];e&&e.length&&o(e,(function(e,n){var s=new U(e,t,n),o=s.getConfig(),r=l({},o);r.slideConfig=o,r.instance=s,r.index=n,i.push(r)})),this.elements=i,this.lightboxOpen&&(this.slidesContainer.innerHTML="",this.elements.length&&(o(this.elements,(function(){var e=m(t.settings.slideHTML);t.slidesContainer.appendChild(e)})),this.showSlide(0,!0)))}},{key:"getElementIndex",value:function(e){var t=!1;return o(this.elements,(function(i,n){if(O(i,"node")&&i.node==e)return t=n,!0})),t}},{key:"getElements",value:function(){var e=this,t=[];this.elements=this.elements?this.elements:[],!I(this.settings.elements)&&E(this.settings.elements)&&this.settings.elements.length&&o(this.settings.elements,(function(i,n){var s=new U(i,e,n),o=s.getConfig(),r=l({},o);r.node=!1,r.index=n,r.instance=s,r.slideConfig=o,t.push(r)}));var i=!1;return this.getSelector()&&(i=document.querySelectorAll(this.getSelector())),i?(o(i,(function(i,n){var s=new U(i,e,n),o=s.getConfig(),r=l({},o);r.node=i,r.index=n,r.instance=s,r.slideConfig=o,r.gallery=i.getAttribute("data-gallery"),t.push(r)})),t):t}},{key:"getGalleryElements",value:function(e,t){return e.filter((function(e){return e.gallery==t}))}},{key:"getSelector",value:function(){return!this.settings.elements&&(this.settings.selector&&"data-"==this.settings.selector.substring(0,5)?"*[".concat(this.settings.selector,"]"):this.settings.selector)}},{key:"getActiveSlide",value:function(){return this.slidesContainer.querySelectorAll(".gslide")[this.index]}},{key:"getActiveSlideIndex",value:function(){return this.index}},{key:"getAnimationClasses",value:function(){var e=[];for(var t in this.settings.cssEfects)if(this.settings.cssEfects.hasOwnProperty(t)){var i=this.settings.cssEfects[t];e.push("g".concat(i.in)),e.push("g".concat(i.out))}return e.join(" ")}},{key:"build",value:function(){var e=this;if(this.built)return!1;var t=document.body.childNodes,i=[];o(t,(function(e){e.parentNode==document.body&&"#"!==e.nodeName.charAt(0)&&e.hasAttribute&&!e.hasAttribute("aria-hidden")&&(i.push(e),e.setAttribute("aria-hidden","true"))}));var n=O(this.settings.svg,"next")?this.settings.svg.next:"",s=O(this.settings.svg,"prev")?this.settings.svg.prev:"",l=O(this.settings.svg,"close")?this.settings.svg.close:"",r=this.settings.lightboxHTML;r=m(r=(r=(r=r.replace(/{nextSVG}/g,n)).replace(/{prevSVG}/g,s)).replace(/{closeSVG}/g,l)),document.body.appendChild(r);var d=document.getElementById("glightbox-body");this.modal=d;var g=d.querySelector(".gclose");this.prevButton=d.querySelector(".gprev"),this.nextButton=d.querySelector(".gnext"),this.overlay=d.querySelector(".goverlay"),this.loader=d.querySelector(".gloader"),this.slidesContainer=document.getElementById("glightbox-slider"),this.bodyHiddenChildElms=i,this.events={},h(this.modal,"glightbox-"+this.settings.skin),this.settings.closeButton&&g&&(this.events.close=a("click",{onElement:g,withCallback:function(t,i){t.preventDefault(),e.close()}})),g&&!this.settings.closeButton&&g.parentNode.removeChild(g),this.nextButton&&(this.events.next=a("click",{onElement:this.nextButton,withCallback:function(t,i){t.preventDefault(),e.nextSlide()}})),this.prevButton&&(this.events.prev=a("click",{onElement:this.prevButton,withCallback:function(t,i){t.preventDefault(),e.prevSlide()}})),this.settings.closeOnOutsideClick&&(this.events.outClose=a("click",{onElement:d,withCallback:function(t,i){e.preventOutsideClick||c(document.body,"glightbox-mobile")||u(t.target,".ginner-container")||u(t.target,".gbtn")||c(t.target,"gnext")||c(t.target,"gprev")||e.close()}})),o(this.elements,(function(t,i){e.slidesContainer.appendChild(t.instance.create()),t.slideNode=e.slidesContainer.querySelectorAll(".gslide")[i]})),K&&h(document.body,"glightbox-touch"),this.events.resize=a("resize",{onElement:window,withCallback:function(){e.resize()}}),this.built=!0}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if((e=e||this.activeSlide)&&!c(e,"zoomed")){var t=y(),i=e.querySelector(".gvideo-wrapper"),n=e.querySelector(".gslide-image"),s=this.slideDescription,l=t.width,o=t.height;if(l<=768?h(document.body,"glightbox-mobile"):d(document.body,"glightbox-mobile"),i||n){var r=!1;if(s&&(c(s,"description-bottom")||c(s,"description-top"))&&!c(s,"gabsolute")&&(r=!0),n)if(l<=768)n.querySelector("img");else if(r){var a=s.offsetHeight,u=n.querySelector("img");u.setAttribute("style","max-height: calc(100vh - ".concat(a,"px)")),s.setAttribute("style","max-width: ".concat(u.offsetWidth,"px;"))}if(i){var g=O(this.settings.plyr.config,"ratio")?this.settings.plyr.config.ratio:"";if(!g){var v=i.clientWidth,f=i.clientHeight,p=v/f;g="".concat(v/p,":").concat(f/p)}var m=g.split(":"),x=this.settings.videosWidth,b=this.settings.videosWidth,S=(b=M(x)||-1!==x.indexOf("px")?parseInt(x):-1!==x.indexOf("vw")?l*parseInt(x)/100:-1!==x.indexOf("vh")?o*parseInt(x)/100:-1!==x.indexOf("%")?l*parseInt(x)/100:parseInt(i.clientWidth))/(parseInt(m[0])/parseInt(m[1]));if(S=Math.floor(S),r&&(o-=s.offsetHeight),b>l||S>o||ob){var w=i.offsetWidth,T=i.offsetHeight,C=o/T,k={width:w*C,height:T*C};i.parentNode.setAttribute("style","max-width: ".concat(k.width,"px")),r&&s.setAttribute("style","max-width: ".concat(k.width,"px;"))}else i.parentNode.style.maxWidth="".concat(x),r&&s.setAttribute("style","max-width: ".concat(x,";"))}}}}},{key:"reload",value:function(){this.init()}},{key:"updateNavigationClasses",value:function(){var e=this.loop();d(this.nextButton,"disabled"),d(this.prevButton,"disabled"),0==this.index&&this.elements.length-1==0?(h(this.prevButton,"disabled"),h(this.nextButton,"disabled")):0!==this.index||e?this.index!==this.elements.length-1||e||h(this.nextButton,"disabled"):h(this.prevButton,"disabled")}},{key:"loop",value:function(){var e=O(this.settings,"loopAtEnd")?this.settings.loopAtEnd:null;return e=O(this.settings,"loop")?this.settings.loop:e,e}},{key:"close",value:function(){var e=this;if(!this.lightboxOpen){if(this.events){for(var t in this.events)this.events.hasOwnProperty(t)&&this.events[t].destroy();this.events=null}return!1}if(this.closing)return!1;this.closing=!0,this.slidePlayerPause(this.activeSlide),this.fullElementsList&&(this.elements=this.fullElementsList),this.bodyHiddenChildElms.length&&o(this.bodyHiddenChildElms,(function(e){e.removeAttribute("aria-hidden")})),h(this.modal,"glightbox-closing"),g(this.overlay,"none"==this.settings.openEffect?"none":this.settings.cssEfects.fade.out),g(this.activeSlide,this.settings.cssEfects[this.settings.closeEffect].out,(function(){if(e.activeSlide=null,e.prevActiveSlideIndex=null,e.prevActiveSlide=null,e.built=!1,e.events){for(var t in e.events)e.events.hasOwnProperty(t)&&e.events[t].destroy();e.events=null}var i=document.body;d(Q,"glightbox-open"),d(i,"glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"),e.modal.parentNode.removeChild(e.modal),e.trigger("close"),T(e.settings.onClose)&&e.settings.onClose();var n=document.querySelector(".gcss-styles");n&&n.parentNode.removeChild(n),e.lightboxOpen=!1,e.closing=null}))}},{key:"destroy",value:function(){this.close(),this.clearAllEvents(),this.baseEvents&&this.baseEvents.destroy()}},{key:"on",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||!T(t))throw new TypeError("Event name and callback must be defined");this.apiEvents.push({evt:e,once:i,callback:t})}},{key:"once",value:function(e,t){this.on(e,t,!0)}},{key:"trigger",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=[];o(this.apiEvents,(function(t,s){var l=t.evt,o=t.once,r=t.callback;l==e&&(r(i),o&&n.push(s))})),n.length&&o(n,(function(e){return t.apiEvents.splice(e,1)}))}},{key:"clearAllEvents",value:function(){this.apiEvents.splice(0,this.apiEvents.length)}},{key:"version",value:function(){return"3.1.1"}}]),e}();return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new te(e);return t.init(),t}})); diff --git a/site/assets/stylesheets/glightbox.min.css b/site/assets/stylesheets/glightbox.min.css new file mode 100644 index 0000000..3c9ff87 --- /dev/null +++ b/site/assets/stylesheets/glightbox.min.css @@ -0,0 +1 @@ +.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}} \ No newline at end of file diff --git a/site/book/index.html b/site/book/index.html index 5232bde..a398c8a 100644 --- a/site/book/index.html +++ b/site/book/index.html @@ -87,7 +87,18 @@ - + @@ -660,6 +671,46 @@ +
      • + + + + + Maps and memory leaks (#28) + + + + +
      • + + + + + + + + + +
      • + + + + + Writing inaccurate benchmarks (#89) + + + + +
      • + + + + + + + + +
      • @@ -845,7 +896,7 @@

        100 Go Mistakes and How to Avoid Them

        Community space of 100 Go Mistakes and How to Avoid Them, published by Manning in 2022.

        -

        +

        Description

        If you're a Go developer looking to improve your skills, this book is for you. With a focus on practical examples, 100 Go Mistakes and How to Avoid Them covers a wide range of topics from concurrency and error handling to testing and code organization. You'll learn to write more idiomatic, efficient, and maintainable code and become a proficient Go developer.

        Quotes

        @@ -949,11 +1000,11 @@
        - + - + \ No newline at end of file diff --git a/site/chapter-1/index.html b/site/chapter-1/index.html index 1a3265c..f04ff53 100644 --- a/site/chapter-1/index.html +++ b/site/chapter-1/index.html @@ -89,7 +89,18 @@ - + @@ -717,6 +728,46 @@ +
      • + + + + + Maps and memory leaks (#28) + + + + +
      • + + + + + + + + + +
      • + + + + + Writing inaccurate benchmarks (#89) + + + + +
      • + + + + + + + + +
      • @@ -996,7 +1047,7 @@

        This book aims to help accelerate our journey toward proficiency by delving into 100 Go mistakes.

        100 Go mistakes

        Why should we read a book about common Go mistakes? Why not deepen our knowledge with an ordinary book that would dig into different topics?

        -

        In a 2011 article, neuroscientists proved that the best time for brain growth is when we’re facing mistakes. Haven’t we all experienced the process of learning from a mistake and recalling that occasion after months or even years, when some context related to it? As presented in another article, by Janet Metcalfe, this happens because mistakes have a facilitative effect. The main idea is that we can remember not only the error but also the context surrounding the mistake. This is one of the reasons why learning from mistakes is so efficient.

        +

        In a 2011 article, neuroscientists proved that the best time for brain growth is when we’re facing mistakes. 1 Haven’t we all experienced the process of learning from a mistake and recalling that occasion after months or even years, when some context related to it? As presented in another article, by Janet Metcalfe, this happens because mistakes have a facilitative effect. 2 The main idea is that we can remember not only the error but also the context surrounding the mistake. This is one of the reasons why learning from mistakes is so efficient.

        To strengthen this facilitative effect, this book accompanies each mistake as much as possible with real-world examples. This book isn’t only about theory; it also helps us get better at avoiding mistakes and making more well-informed, conscious decisions because we now understand the rationale behind them.

        Unknown

        @@ -1014,7 +1065,7 @@

      We introduce each mistake category next.

      Bugs

      -

      The first type of mistake and probably the most obvious is software bugs. In 2020, a study conducted by Synopsys estimated the cost of software bugs in the U.S. alone to be over $2 trillion.

      +

      The first type of mistake and probably the most obvious is software bugs. In 2020, a study conducted by Synopsys estimated the cost of software bugs in the U.S. alone to be over $2 trillion. 3

      Furthermore, bugs can also lead to tragic impacts. We can, for example, mention cases such as Therac-25, a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL). Because of a race condition, the machine gave its patients radiation doses that were hundreds of times greater than expected, leading to the death of three patients. Hence, software bugs aren’t only about money. As developers, we should remember how impactful our jobs are.

      This book covers plenty of cases that could lead to various software bugs, including data races, leaks, logic errors, and other defects. Although accurate tests should be a way to discover such bugs as early as possible, we may sometimes miss cases because of different factors such as time constraints or complexity. Therefore, as a Go developer, it’s essential to make sure we avoid common bugs.

      Needless complexity

      @@ -1040,6 +1091,20 @@
    • Go is simple to learn but not easy to master. This is why we need to deepen our knowledge to make the most effective use of the language.
    • Learning via mistakes and concrete examples is a powerful way to be proficient in a language. This book will accelerate our path to proficiency by exploring 100 common mistakes.
    +
    +
    +
      +
    1. +

      J. S. Moser, H. S. Schroder, et al., “Mind Your Errors: Evidence for a Neural Mechanism Linking Growth Mindset to Adaptive Posterror Adjustments,” Psychological Science, vol. 22, no. 12, pp. 1484–1489, Dec. 2011. 

      +
    2. +
    3. +

      J. Metcalfe, “Learning from Errors,” Annual Review of Psychology, vol. 68, pp. 465–489, Jan. 2017. 

      +
    4. +
    5. +

      Synopsys, “The Cost of Poor Software Quality in the US: A 2020 Report.” 2020. https://news.synopsys.com/2021-01-06-Synopsys-Sponsored-CISQ-Research-Estimates-Cost-of-Poor-Software-Quality-in-the-US-2-08-Trillion-in-2020

      +
    6. +
    +
    @@ -1109,11 +1174,11 @@
    - + - + \ No newline at end of file diff --git a/site/external/index.html b/site/external/index.html index c178cfe..ae7b5c9 100644 --- a/site/external/index.html +++ b/site/external/index.html @@ -89,7 +89,18 @@ - + @@ -662,6 +673,46 @@ +
  • + + + + + Maps and memory leaks (#28) + + + + +
  • + + + + + + + + + +
  • + + + + + Writing inaccurate benchmarks (#89) + + + + +
  • + + + + + + + + +
  • @@ -938,11 +989,11 @@
    - + - + \ No newline at end of file diff --git a/site/img/map-leak-1.png b/site/img/map-leak-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c478152110b7085b8168ca68569c780fba30123 GIT binary patch literal 6719 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 O1Zb-psFkSP4gVh&X`2!eHQ3ZkU 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 literal 0 HcmV?d00001 diff --git a/site/index.html b/site/index.html index ea1f627..0f58636 100644 --- a/site/index.html +++ b/site/index.html @@ -89,7 +89,18 @@ - + @@ -763,11 +774,11 @@

  • - - Slice and memory leaks (#26) + + Slices and memory leaks (#26) -