vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex()
							parent
							
								
									5cb31c2c8f
								
							
						
					
					
						commit
						60cc8ac39c
					
				| 
						 | 
				
			
			@ -368,6 +368,20 @@ pub fn (nn byteptr) str() string {
 | 
			
		|||
	return u64(nn).hex()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// pub fn (nn byte) hex_full() string { return u64_to_hex(nn, 2) }
 | 
			
		||||
// pub fn (nn i8)  hex_full() string { return u64_to_hex(byte(nn), 2) }
 | 
			
		||||
// pub fn (nn u16) hex_full() string { return u64_to_hex(nn, 4) }
 | 
			
		||||
// pub fn (nn i16) hex_full() string { return u64_to_hex(u16(nn), 4) }
 | 
			
		||||
// pub fn (nn u32) hex_full() string { return u64_to_hex(nn, 8) }
 | 
			
		||||
// pub fn (nn int) hex_full() string { return u64_to_hex(u32(nn), 8) }
 | 
			
		||||
pub fn (nn u64) hex_full() string {
 | 
			
		||||
	return u64_to_hex(nn, 16)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// pub fn (nn i64) hex_full() string { return u64_to_hex(u64(nn), 16) }
 | 
			
		||||
// pub fn (nn any_int) hex_full() string { return u64_to_hex(nn, 16) }
 | 
			
		||||
// pub fn (nn voidptr) hex_full() string { return u64_to_hex(nn, 16) }
 | 
			
		||||
// pub fn (nn byteptr) hex_full() string { return u64_to_hex(nn, 16) }
 | 
			
		||||
pub fn (b byte) str() string {
 | 
			
		||||
	// TODO
 | 
			
		||||
	//return int(b).str_l(7)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
module pref
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import crypto.md5
 | 
			
		||||
import hash
 | 
			
		||||
 | 
			
		||||
// Using a 2 level cache, ensures a more even distribution of cache entries,
 | 
			
		||||
// so there will not be cramped folders that contain many thousands of them.
 | 
			
		||||
| 
						 | 
				
			
			@ -47,10 +47,12 @@ pub fn (mut cm CacheManager) key2cpath(key string) string {
 | 
			
		|||
	mut cpath := cm.k2cpath[key]
 | 
			
		||||
	if cpath == '' {
 | 
			
		||||
		hk := cm.vopts + key
 | 
			
		||||
		hash := md5.sum(hk.bytes()).hex()
 | 
			
		||||
		prefix := hash[0..2]
 | 
			
		||||
		a := hash.sum64_string(hk, 5).hex_full()
 | 
			
		||||
		b := hash.sum64_string(hk, 7).hex_full()
 | 
			
		||||
		khash := a + b
 | 
			
		||||
		prefix := khash[0..2]
 | 
			
		||||
		cprefix_folder := os.join_path(cm.basepath, prefix)
 | 
			
		||||
		cpath = os.join_path(cprefix_folder, hash)
 | 
			
		||||
		cpath = os.join_path(cprefix_folder, khash)
 | 
			
		||||
		if !os.is_dir(cprefix_folder) {
 | 
			
		||||
			os.mkdir_all(cprefix_folder)
 | 
			
		||||
			os.chmod(cprefix_folder, 0o777)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue