Skip to content

Commit c002da3

Browse files
committed
translated until line 380
1 parent b435be3 commit c002da3

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

1-js/05-data-types/11-date/article.md

+25-25
Original file line numberDiff line numberDiff line change
@@ -264,31 +264,31 @@ alert( `Bucla a durat ${end - start} ms` ); // scade numere, nu date
264264
265265
## Benchmarking
266266
267-
If we want a reliable benchmark of CPU-hungry function, we should be careful.
267+
Dacă dorim un benchmark fiabil al unei funcții care consumă mult CPU, trebuie să fim atenți.
268268
269-
For instance, let's measure two functions that calculate the difference between two dates: which one is faster?
269+
De exemplu, să măsurăm două funcții care calculează diferența dintre două date: care dintre ele este mai rapidă?
270270
271-
Such performance measurements are often called "benchmarks".
271+
Astfel de măsurători de performanță sunt adesea numite "benchmarks".
272272
273273
```js
274-
// we have date1 and date2, which function faster returns their difference in ms?
274+
// avem date1 și date2, care funcție returnează mai repede diferența lor în ms?
275275
function diffSubtract(date1, date2) {
276276
return date2 - date1;
277277
}
278278

279-
// or
279+
// sau
280280
function diffGetTime(date1, date2) {
281281
return date2.getTime() - date1.getTime();
282282
}
283283
```
284284
285-
These two do exactly the same thing, but one of them uses an explicit `date.getTime()` to get the date in ms, and the other one relies on a date-to-number transform. Their result is always the same.
285+
Acestea două fac exact același lucru, dar una dintre ele folosește `date.getTime()` explicit pentru a obține data în ms, iar cealaltă se bazează pe o transformare dată-la-număr. Rezultatul lor este întotdeauna același.
286286
287-
So, which one is faster?
287+
Așadar, care dintre ele este mai rapidă?
288288
289-
The first idea may be to run them many times in a row and measure the time difference. For our case, functions are very simple, so we have to do it at least 100000 times.
289+
Prima idee ar putea fi să le rulăm de multe ori la rând și să măsurăm diferența de timp. Pentru cazul nostru, funcțiile sunt foarte simple, așa că trebuie să o facem de cel puțin 100000 de ori.
290290
291-
Let's measure:
291+
Să măsurăm:
292292
293293
```js run
294294
function diffSubtract(date1, date2) {
@@ -312,19 +312,19 @@ alert( 'Time of diffSubtract: ' + bench(diffSubtract) + 'ms' );
312312
alert( 'Time of diffGetTime: ' + bench(diffGetTime) + 'ms' );
313313
```
314314
315-
Wow! Using `getTime()` is so much faster! That's because there's no type conversion, it is much easier for engines to optimize.
315+
Wow! Utilizând `getTime()` este mult mai rapid! Asta pentru că nu există conversie de tip, este mult mai ușor de optimizat pentru motoare.
316316
317-
Okay, we have something. But that's not a good benchmark yet.
317+
Bine, avem ceva. Dar acesta nu este un benchmark bun încă.
318318
319-
Imagine that at the time of running `bench(diffSubtract)` CPU was doing something in parallel, and it was taking resources. And by the time of running `bench(diffGetTime)` that work has finished.
319+
Imaginați-vă că în momentul rulării `bench(diffSubtract)` CPU-ul făcea ceva în paralel, și acesta consuma resurse. Iar până în momentul în care se execută `bench(diffGetTime)` acea sarcină s-a terminat.
320320
321-
A pretty real scenario for a modern multi-process OS.
321+
Un scenariu destul de real pentru un multiproces modern de OS.
322322
323-
As a result, the first benchmark will have less CPU resources than the second. That may lead to wrong results.
323+
Ca urmare, primul benchmark va avea mai puține resurse CPU decât al doilea. Acest lucru poate duce la rezultate greșite.
324324
325-
**For more reliable benchmarking, the whole pack of benchmarks should be rerun multiple times.**
325+
**Pentru un benchmarking mai fiabil, întregul pachet de benchmarks ar trebui rulat de mai multe ori.**
326326
327-
For example, like this:
327+
De exemplu, cam așa:
328328
329329
```js run
330330
function diffSubtract(date1, date2) {
@@ -348,35 +348,35 @@ let time1 = 0;
348348
let time2 = 0;
349349

350350
*!*
351-
// run bench(diffSubtract) and bench(diffGetTime) each 10 times alternating
351+
// execută bench(diffSubtract) și bench(diffGetTime) fiecare de 10 ori alternativ
352352
for (let i = 0; i < 10; i++) {
353353
time1 += bench(diffSubtract);
354354
time2 += bench(diffGetTime);
355355
}
356356
*/!*
357357

358-
alert( 'Total time for diffSubtract: ' + time1 );
359-
alert( 'Total time for diffGetTime: ' + time2 );
358+
alert( 'Timp total pentru diffSubtract: ' + time1 );
359+
alert( 'Timp total pentru diffGetTime: ' + time2 );
360360
```
361361
362-
Modern JavaScript engines start applying advanced optimizations only to "hot code" that executes many times (no need to optimize rarely executed things). So, in the example above, first executions are not well-optimized. We may want to add a heat-up run:
362+
Motoarele JavaScript moderne încep să aplice optimizări avansate doar pentru "codul fierbinte" care se execută de mai multe ori (nu este nevoie să optimizeze lucruri executate rar). Așadar, în exemplul de mai sus, primele execuții nu sunt bine optimizate. Am vrea să adăugăm o execuție de încălzire:
363363
364364
```js
365-
// added for "heating up" prior to the main loop
365+
// adăugată pentru "încălzire" înainte de bucla principală
366366
bench(diffSubtract);
367367
bench(diffGetTime);
368368

369-
// now benchmark
369+
// acum benchmark
370370
for (let i = 0; i < 10; i++) {
371371
time1 += bench(diffSubtract);
372372
time2 += bench(diffGetTime);
373373
}
374374
```
375375
376-
```warn header="Be careful doing microbenchmarking"
377-
Modern JavaScript engines perform many optimizations. They may tweak results of "artificial tests" compared to "normal usage", especially when we benchmark something very small, such as how an operator works, or a built-in function. So if you seriously want to understand performance, then please study how the JavaScript engine works. And then you probably won't need microbenchmarks at all.
376+
```warn header="Aveți grijă când faceți microbenchmarking"
377+
Motoarele JavaScript moderne efectuează multe optimizări. Acestea ar putea ajusta rezultatele "testelor artificiale" în comparație cu "utilizarea normală", în special atunci când efectuăm benchmark-uri pentru ceva foarte mic, cum ar fi modul în care funcționează un operator sau o funcție încorporată. Deci dacă vreți să înțelegeți în mod serios performanța, atunci vă rugăm să studiați modul în care funcționează motorul JavaScript. Și atunci probabil că nu veți avea nevoie deloc de microbenchmarks.
378378

379-
The great pack of articles about V8 can be found at <https://mrale.ph>.
379+
Marele pachet de articole despre V8 poate fi găsit la <https://mrale.ph>.
380380
```
381381
382382
## Date.parse from a string

0 commit comments

Comments
 (0)